Commit graph

398 commits

Author SHA1 Message Date
Simon Cruanes
fa572155cc
Merge a56dd0ec65 into 09ff4f98ed 2025-01-26 08:01:05 +00:00
Simon Cruanes
09ff4f98ed
fix percent encoding for < 0x10 chars 2024-12-25 11:12:42 -05:00
Simon Cruanes
1318d46efa
fix percent encoding on control chars 2024-12-06 14:42:17 -05:00
Simon Cruanes
1c61c39172
new flag ?enable_logging to disable regular logs (not debug) 2024-12-04 15:52:32 -05:00
Simon Cruanes
7639acfc19
perf: force a lazy in the branch where it is used 2024-12-04 15:10:57 -05:00
Simon Cruanes
9875543192
remove debug line 2024-12-03 09:44:16 -05:00
Simon Cruanes
21c0f7f25d
feat: require \r\n before all boundaries but the first 2024-12-02 15:58:16 -05:00
Simon Cruanes
0b34c966f7
fix multipart: no \r\n before boundary after all 2024-12-02 15:48:52 -05:00
Simon Cruanes
8f0dac2dfe
missing file 2024-12-02 15:32:08 -05:00
Simon Cruanes
b966a9eccc
feat multipart-form: expose content_disposition 2024-12-02 14:56:35 -05:00
Simon Cruanes
a5a06f0159
feat multipart: add helper to parse boundary 2024-12-02 14:45:26 -05:00
Simon Cruanes
c966d1839c
feat multipart: first ok implementation 2024-12-02 14:19:26 -05:00
Simon Cruanes
e1bfe70991
feat headers: expose parsing helper 2024-12-02 14:19:06 -05:00
Simon Cruanes
2968031e5b
wip: multipart 2024-12-02 11:46:40 -05:00
Simon Cruanes
2413a3028c
wip 2024-12-02 00:23:43 -05:00
Simon Cruanes
26c6a6e8dc
initial port of multipart-form-data 2024-12-01 22:18:06 -05:00
Sam Tombury
b80c5f922f fix: make check for 'Connection: Upgrade' header case-insensitive
Some clients send lowercase 'upgrade' as value (matching typical keep-alive behaviour)
2024-11-07 10:39:45 -05:00
Simon Cruanes
d38eb852f8
fix parsing: stricter checks for CRLF 2024-10-13 20:42:26 -04:00
Simon Cruanes
7028fec2a0
feat response: add pp_with; have pp hide set-cookie headers
we don't want to accidentally log cookies, they might contain
credentials or secret tokens.
2024-09-27 15:26:20 -04:00
Simon Cruanes
e199162e1f
fix: also make server socket nonblocking 2024-09-03 15:40:26 -04:00
Simon Cruanes
c43ffb5ff4
feat: add tiny_httpd_moonpool library 2024-09-03 15:16:33 -04:00
Simon Cruanes
de9760d786
format 2024-08-15 09:18:15 -04:00
Simon Cruanes
93a30366e1
better error message on IO failure 2024-08-01 10:51:35 -04:00
Simon Cruanes
5130653068
chore build: add more re_export 2024-07-16 10:01:47 -04:00
Simon Cruanes
9eb3cbfc70
prepare for 0.17 2024-06-20 15:23:51 -04:00
Simon Cruanes
3cdec1c0c7
fix 2024-06-18 17:04:19 -04:00
Simon Cruanes
199bcff68d
more debug 2024-06-18 16:28:18 -04:00
Simon Cruanes
e8c7d3c879
better error messages 2024-06-18 16:26:15 -04:00
Jonah Beckford
14a48756a8 Do not use sigprocmask on Windows
Fixes #85
2024-04-18 11:20:40 -04:00
Simon Cruanes
bc34363f60
expose Bad_req in Server 2024-04-16 14:45:21 -04:00
Simon Cruanes
e5191f0fd7
fix: give the correct code+error if protocol upgrade fails 2024-04-15 15:04:44 -04:00
Simon Cruanes
284d1f7400
add optional middlewares to tiny_httpd_ws 2024-04-15 12:11:46 -04:00
Simon Cruanes
241d9aeaf1
add Head_middleware.trivial 2024-04-15 12:09:37 -04:00
Simon Cruanes
e1368525d8
feat: add Head_middleware.t; accept it for SSE/websocket 2024-04-15 12:05:48 -04:00
Simon Cruanes
19554068b5
feat ws: expose Close_connection 2024-04-05 16:14:23 -04:00
Simon Cruanes
e4303b2fd4
remove debug messages 2024-04-05 13:49:10 -04:00
Simon Cruanes
2292128d30
perf: optim in read_line 2024-04-05 13:23:41 -04:00
Simon Cruanes
3393c13c00
fix websocket: properly remember the offset in current frame
not doing so means we always unmask from offset 0, which means we might
use the wrong index in the mask if we do, say, `read()=3` followed by
another read: the second one would start from mask[0] instead of
mask[3], producing raw unfiltered garbage.
2024-04-05 13:21:54 -04:00
Simon Cruanes
5301ed40ea
fix websocket: read 16-bit length as unsigned 2024-04-04 22:11:08 -04:00
Simon Cruanes
7c765a181d
remove dead code 2024-04-04 16:27:06 -04:00
Simon Cruanes
dbd00259da
feat ws: a bit of cleanup, expose masking primitive 2024-04-04 15:54:55 -04:00
Simon Cruanes
84adbb13b2
cleanup 2024-04-03 21:36:14 -04:00
Simon Cruanes
d8ff243e8d
feat ws: pass the whole request to the handler 2024-04-02 14:35:57 -04:00
Simon Cruanes
4b845bf019
debug in websocket 2024-04-02 14:10:16 -04:00
Simon Cruanes
8dd86993d7
remove potentially security-leaking debug line 2024-03-26 13:01:02 -04:00
Simon Cruanes
a309c657c8
fix: 1xx codes are also success 2024-03-25 14:24:17 -04:00
Simon Cruanes
fca8ba46e1
make sure to flush underlying stream 2024-03-25 10:18:27 -04:00
Simon Cruanes
9864c53b95
wip 2024-03-15 11:04:16 -04:00
Simon Cruanes
fe9596f4fe
fix ws: missing flush 2024-03-12 10:39:38 -04:00
Simon Cruanes
05dcf77981
feat: add Request.pp_with which is a customizable printer 2024-02-29 10:31:15 -05:00