Commit graph

383 commits

Author SHA1 Message Date
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
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
Simon Cruanes
eada4cde08
less verbose logs for unix server 2024-02-28 16:24:15 -05:00
Simon Cruanes
7de89bd555
expose Response.Bad_req 2024-02-28 16:11:16 -05:00
Simon Cruanes
5a38ffdce7
comment 2024-02-28 15:16:14 -05:00
Simon Cruanes
91951ca5a1
logging 2024-02-28 15:05:23 -05:00
Simon Cruanes
7e790c0161
fix: parse query when there's a fragment indication 2024-02-28 15:01:13 -05:00
Simon Cruanes
179d41cd9a
logging 2024-02-28 09:46:34 -05:00
Simon Cruanes
bcc208cf59
fix middlewares: merge-sort per-request middleares and global ones 2024-02-27 15:42:30 -05:00
Simon Cruanes
1debf0f688
expose all modules again 2024-02-27 13:38:35 -05:00
Simon Cruanes
384515a594
dir: handle html 2024-02-27 11:00:42 -05:00
Simon Cruanes
950f0e734f
fix bugs 2024-02-26 22:50:30 -05:00
Simon Cruanes
ec3dec6b72
wip: bugfixes 2024-02-26 16:28:31 -05:00
Simon Cruanes
e3047a7b6a
fixes 2024-02-26 15:59:23 -05:00
Simon Cruanes
adf4c6815f
finish refactor 2024-02-26 15:48:10 -05:00
Simon Cruanes
22f158ccd8
fix websocket 2024-02-26 14:06:01 -05:00
Simon Cruanes
0d750cd86c
fix prometheus 2024-02-26 14:05:56 -05:00