King_DuckZ
73707c2ad0
Revert "Pass the ResponseFactory object down to the Response itself."
...
This reverts commit 3bc6c56c03
.
2017-05-12 22:18:03 +01:00
King_DuckZ
3bc6c56c03
Pass the ResponseFactory object down to the Response itself.
2017-05-12 09:36:01 +01:00
King_DuckZ
10da75caf5
Remove parameters from Response's constructor.
...
They can safely be defaulted and derived classes can
change their preferences later inside their constructor
if they need to.
2017-05-12 09:18:49 +01:00
King_DuckZ
f286507edf
Delay fast subsequent pasties from the same IP.
2017-05-11 18:50:56 +01:00
King_DuckZ
9e63a648a1
Protect against fast flooding from the same ip.
2017-05-11 09:48:18 +01:00
King_DuckZ
f4991dfd5f
Get latest duckhandy
2017-05-11 09:37:28 +01:00
King_DuckZ
c790507d94
Version bump to 0.1.4.
2017-05-10 20:50:28 +01:00
King_DuckZ
0323fb0ba6
Add source-highlight to docs.
...
It's useful as reference.
2017-05-10 20:49:40 +01:00
King_DuckZ
d449781c40
Add unit test for utf8 sanitization.
2017-05-10 20:47:24 +01:00
King_DuckZ
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
King_DuckZ
ed1343bd7b
Pass the istream to read_post instead of assuming std::cin.
2017-05-10 20:42:42 +01:00
King_DuckZ
c907e5dd49
Fix tawashi looking for the wrong config file.
2017-05-08 19:48:09 +01:00
King_DuckZ
9e1e18dcf0
Set default.lang if user's lang is not found.
2017-05-08 19:48:09 +01:00
King_DuckZ
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
King_DuckZ
376b34c1d0
Add todo comment.
2017-05-06 21:57:31 +01:00
King_DuckZ
df384f5128
Add unit test for IndexResponse.
2017-05-06 21:49:46 +01:00
King_DuckZ
f5f19350ea
Make SafeStackObject implicitly up-castable.
2017-05-06 21:48:45 +01:00
King_DuckZ
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
King_DuckZ
8980a1d1ff
I don't really need to store the page name in the base class.
2017-05-06 19:16:57 +01:00
King_DuckZ
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
King_DuckZ
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
King_DuckZ
b4291becf0
Add unit test for the SettingsBag.
2017-05-05 09:48:46 +01:00
King_DuckZ
85363e0db1
Add an empty unit test.
2017-05-04 23:03:53 +01:00
King_DuckZ
e1687c96ff
Split tawashi into lib+executable to enable unit testing
2017-05-04 19:52:18 +01:00
King_DuckZ
bcb800ffef
Buildfix in release
2017-05-04 19:41:18 +01:00
King_DuckZ
7646a04c51
Add user agent cgi variable.
2017-05-04 10:22:43 +01:00
King_DuckZ
c41e7ce65f
Add more logging
2017-05-04 10:00:49 +01:00
King_DuckZ
92d8f1f73c
Make logging level configurable in tawashi.ini.
2017-05-04 09:59:49 +01:00
King_DuckZ
c892ed2df8
Add logging lib spdlog.
2017-05-03 09:31:41 +01:00
King_DuckZ
73323c9ee7
Add plain text mode
2017-04-27 09:33:47 +01:00
King_DuckZ
457127aa04
Rename built binary to tawashi.cgi
...
Also copy html dir when doing make install.
2017-04-26 20:52:52 +01:00
King_DuckZ
4a57181ff6
Version bump to v0.1.3
2017-04-26 20:15:13 +01:00
King_DuckZ
3191203bfd
Tell the browser returned plain text is utf8.
2017-04-26 20:12:59 +01:00
King_DuckZ
fbc9afc81c
Remove invalid utf8 sequences from GET and POST.
2017-04-26 20:12:59 +01:00
King_DuckZ
f2bee62f0e
Add utfcpp 2.3.4 to the project.
2017-04-26 20:02:49 +01:00
King_DuckZ
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
King_DuckZ
298aedc633
Version bump to v0.1.2
2017-04-25 22:56:35 +01:00
King_DuckZ
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
King_DuckZ
54e737c171
Escape html in non-plaintext responses.
2017-04-25 22:09:46 +01:00
King_DuckZ
8a23dc1add
An empty GET is synonym of m=plain
2017-04-25 22:09:46 +01:00
King_DuckZ
85784d231d
Use houdini escaping instead of easy_curl.
...
Drop dependency on easy_curl.
2017-04-25 22:09:46 +01:00
King_DuckZ
c75c23fa36
Import houdini lib.
...
Will replace curl dependency soon.
2017-04-25 22:09:45 +01:00
King_DuckZ
1c894cbef5
Update incredis submodule
2017-04-25 09:41:50 +01:00
King_DuckZ
b423522af8
Enable language and expiry in pasties.
2017-04-25 00:21:44 +01:00
King_DuckZ
9232644cbb
I missed this in a previous commit - take the setting from the SettingsBag.
2017-04-25 00:10:50 +01:00
King_DuckZ
3e60ea4183
Escape any html from pasties before sending the response.
2017-04-24 19:41:38 +01:00
King_DuckZ
3c10d624e3
Allow users to specify min/max valid pastie sizes.
2017-04-24 19:09:43 +01:00
King_DuckZ
79e82e2489
Do the str to int conversion in the SettingsBag.
2017-04-24 18:55:04 +01:00
King_DuckZ
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
King_DuckZ
34e69d0b52
Version bump to 0.1.1
2017-04-23 15:06:36 +01:00