d449781c40
Add unit test for utf8 sanitization.
2017-05-10 20:47:24 +01:00
13e46ab1e6
Replace nullchars with #.
...
There is also a glib-based implementation but I'm not
sure about it yet.
2017-05-10 20:45:26 +01:00
ed1343bd7b
Pass the istream to read_post instead of assuming std::cin.
2017-05-10 20:42:42 +01:00
c907e5dd49
Fix tawashi looking for the wrong config file.
2017-05-08 19:48:09 +01:00
9e1e18dcf0
Set default.lang if user's lang is not found.
2017-05-08 19:48:09 +01:00
07135f215c
Delete get_env, which confused me a lot.
...
Get raw environment variables directly from main().
Add code to split on '=' in cgi_environment_vars and only pick
the ones that are interesting, just as before.
2017-05-08 19:46:14 +01:00
376b34c1d0
Add todo comment.
2017-05-06 21:57:31 +01:00
df384f5128
Add unit test for IndexResponse.
2017-05-06 21:49:46 +01:00
f5f19350ea
Make SafeStackObject implicitly up-castable.
2017-05-06 21:48:45 +01:00
cd1be59cfa
Pass the output stream and cgi_env to Response.
...
Mask the fact that they are globals, because I need
to be able to pass different classes in order to be
able to write unit tests for response classes.
2017-05-06 19:48:44 +01:00
8980a1d1ff
I don't really need to store the page name in the base class.
2017-05-06 19:16:57 +01:00
ebed6fd1d4
Fix unit test for IniParser.
...
I'm not sure why graph needs the -eol part for the
value part, hopefully I'll find out at some point.
2017-05-06 18:40:39 +01:00
5b59ca3c41
Add unit test for IniFile and improve parser.
...
The test still fails because for some reason the parser
doesn't want to skip the trailing spaces in values.
2017-05-06 02:01:05 +01:00
b4291becf0
Add unit test for the SettingsBag.
2017-05-05 09:48:46 +01:00
85363e0db1
Add an empty unit test.
2017-05-04 23:03:53 +01:00
e1687c96ff
Split tawashi into lib+executable to enable unit testing
2017-05-04 19:52:18 +01:00
bcb800ffef
Buildfix in release
2017-05-04 19:41:18 +01:00
7646a04c51
Add user agent cgi variable.
2017-05-04 10:22:43 +01:00
c41e7ce65f
Add more logging
2017-05-04 10:00:49 +01:00
92d8f1f73c
Make logging level configurable in tawashi.ini.
2017-05-04 09:59:49 +01:00
c892ed2df8
Add logging lib spdlog.
2017-05-03 09:31:41 +01:00
73323c9ee7
Add plain text mode
2017-04-27 09:33:47 +01:00
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
1c894cbef5
Update incredis submodule
2017-04-25 09:41:50 +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