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