457127aa04
Rename built binary to tawashi.cgi
...
Also copy html dir when doing make install.
2017-04-26 20:52:52 +01:00
4a57181ff6
Version bump to v0.1.3
2017-04-26 20:15:13 +01:00
3191203bfd
Tell the browser returned plain text is utf8.
2017-04-26 20:12:59 +01:00
fbc9afc81c
Remove invalid utf8 sequences from GET and POST.
2017-04-26 20:12:59 +01:00
f2bee62f0e
Add utfcpp 2.3.4 to the project.
2017-04-26 20:02:49 +01:00
5377d25c72
Simplify the response pipeline.
...
There is no on_send() anymore, instead responses can
override the way the top-level mustache file is retrieved.
2017-04-26 09:17:57 +01:00
298aedc633
Version bump to v0.1.2
2017-04-25 22:56:35 +01:00
06920f8d84
Return pasties into a proper html page.
...
I don't think html escaping is needed, since pasties
go through the colorizer first.
I don't really like the workaround to not call on_send() when
I don't want the html output, it's a bit omg what's going on
there... I'll have to rewrite that bit.
2017-04-25 22:56:19 +01:00
54e737c171
Escape html in non-plaintext responses.
2017-04-25 22:09:46 +01:00
8a23dc1add
An empty GET is synonym of m=plain
2017-04-25 22:09:46 +01:00
85784d231d
Use houdini escaping instead of easy_curl.
...
Drop dependency on easy_curl.
2017-04-25 22:09:46 +01:00
c75c23fa36
Import houdini lib.
...
Will replace curl dependency soon.
2017-04-25 22:09:45 +01:00
b423522af8
Enable language and expiry in pasties.
2017-04-25 00:21:44 +01:00
9232644cbb
I missed this in a previous commit - take the setting from the SettingsBag.
2017-04-25 00:10:50 +01:00
3e60ea4183
Escape any html from pasties before sending the response.
2017-04-24 19:41:38 +01:00
3c10d624e3
Allow users to specify min/max valid pastie sizes.
2017-04-24 19:09:43 +01:00
79e82e2489
Do the str to int conversion in the SettingsBag.
2017-04-24 18:55:04 +01:00
fe53ea7ea1
Implement as_str() and as_ref() as template as<>().
...
Also provide a commodity at() that is a synonym
for as<boost::string_ref>() but much shorter to type.
2017-04-24 09:25:04 +01:00
34e69d0b52
Version bump to 0.1.1
2017-04-23 15:06:36 +01:00
eebcfb4157
Set default html path to "", not "html".
2017-04-23 13:58:06 +01:00
0add0720d5
Add langmap_dir setting.
...
Allows users to specify the path to the langmap dir for
source-highlight.
2017-04-23 13:57:49 +01:00
fb4d99d62b
Add as_str() and as_ref() convenience methods to SettingsBag.
...
as_ref() does the same as operator[], but it's nicer to
type when settings bag is a pointer.
2017-04-23 13:54:06 +01:00
75674525de
Response keeps a ptr to the SettingsBag now.
2017-04-23 13:40:48 +01:00
6c5497ae49
Redirect to base_uri, not to localhost
2017-04-23 13:08:27 +01:00
26aa51c3be
Add a redis_db setting to the ini file.
2017-04-21 23:26:01 +01:00
b03c3198b8
Make a SettingsBag class that wraps the ini settings.
...
Easily allows to have default values for options
that are not specified in the loaded ini file.
2017-04-21 23:10:16 +01:00
34b4588481
Fix operator*
2017-04-21 22:56:44 +01:00
1bc059bfe4
Export the list of supported languages to mustache.
2017-04-21 22:18:43 +01:00
73c3d2f04d
Use partials in html.
2017-04-21 19:01:13 +01:00
00aa06282d
Set the html root from the config file.
2017-04-18 20:10:36 +01:00
1870829ec2
Import lib mstch and put it to good use.
...
Response classes are given a chance to modify the
dictionary that is later sent to mstch.
2017-04-18 18:40:42 +01:00
680f13e1f6
Refactoring.
...
IncRedis is now held by Response, if requested by the base class.
Response objects know their names, and they use it to load
the html (soon to be mustache) data from disk.
Main only prepares a factory, the factory then instantiates
the actual Response.
The code now correctly serves index.cgi when the request is /.
Remove kakoune's safe_ptr from inside src and put an updated
one in lib/kakoune.
2017-04-15 03:18:33 +01:00
4bf8dfc29f
Enable the redis_mode option in tawashi.ini
2017-04-14 00:50:50 +01:00
b61465476b
Add install command
2017-04-11 19:47:05 +01:00
da2484b0d4
Use base_uri in the response
2017-04-11 19:36:18 +01:00
41e1d35c7a
Make ini parser use a map of string_ref
...
It is important that you keep your IniFile object around
if you access stuff in the map returned by parsed() at this
point.
2017-04-11 18:32:43 +01:00
2dd4ebe515
Load redis parameters from config file.
2017-04-11 18:19:19 +01:00
6a6d4c85bb
Import pathname from dindexer.
2017-04-11 18:10:19 +01:00
aef2210f6d
Add tawashiConfig.h.in with default paths.
2017-04-11 08:30:22 +01:00
f331113be8
Add parser for ini file
2017-04-10 22:37:22 +01:00
ed25d60351
Use source-highlight library for syntax colorizing.
2017-04-07 23:57:32 +01:00
ef9e74c473
Redirect to the new page if pastie was successful.
2017-04-07 00:31:06 +01:00
4354f4bf29
Add GPL3 licence.
2017-04-06 23:35:06 +01:00
31890ba5e4
Allow retrieval of pasties
2017-04-06 23:28:57 +01:00
091746e9b6
Disable debug output
2017-04-06 23:11:11 +01:00
2b54349e0e
Rename envy to cgi_environment_vars.
2017-04-06 23:05:08 +01:00
81cf36de22
Rename CGIEnv to cgi::Env
2017-04-06 23:02:17 +01:00
fa33944919
Unescape + to space correctly
2017-04-06 22:57:44 +01:00
33c52b88d5
Rename submit form to submit paste.
2017-04-06 22:45:44 +01:00
dbd1a3a90a
Submitting a paste and saving to redis works!
2017-04-06 22:42:43 +01:00