Jason Volk
ee59e76305
ircd::http: Fix headers view parse to cover expected trailing crlf.
2022-06-22 15:33:38 -07:00
Jason Volk
01c2c55054
ircd::http: Simplify line ctor; move eoi into grammar.
2022-06-22 15:31:46 -07:00
Jason Volk
5faadaa000
ircd::http: Fix binary op (gnu++20).
2022-06-19 20:14:23 -07:00
Jason Volk
85aa4bd8c6
ircd::http: Adjust grammar for cloudflare.
2022-06-17 21:34:02 -07:00
Jason Volk
398c1d2213
ircd::http: Optimize expressions; modernize grammars; minor cleanup.
2022-06-17 21:34:02 -07:00
Jason Volk
0aeaae9584
ircd::http: Remove switch default to precipitate unhandled warning.
2022-06-17 21:11:54 -07:00
Jason Volk
1055d66f94
Modernize various parser grammars; remove empty ctors.
2022-06-17 21:11:53 -07:00
Jason Volk
be8bb88358
ircd::http: Move insignificant TLS buffer to stack.
2022-06-17 21:11:53 -07:00
Jason Volk
3d672ab9bc
Rename common instance variables of window_buffer for clarity.
2022-06-17 21:11:53 -07:00
Jason Volk
a1420b25a3
ircd::http: Add log level severity(category) convenience tool; tweak category table.
2021-02-03 18:01:15 -08:00
Jason Volk
00bd72e3ff
ircd::http: Fix erroneous binding name.
2020-11-27 16:58:20 -08:00
Jason Volk
c9b1b37505
ircd::http: Increase buffer size; report proper error for exceeding.
2020-11-05 22:10:54 -08:00
Jason Volk
7e22894437
ircd::http: Add default User-Agent header if none specified.
2020-10-25 00:09:59 -07:00
Jason Volk
e6e5b14b93
ircd::http: Assert enough buffer for valid chunk size value.
2020-08-28 05:18:57 -07:00
Jason Volk
6ec9b2a783
ircd: Specify explicit noexcept for gcc-10 issue.
2020-07-11 17:57:33 -07:00
Jason Volk
2a5c234d76
ircd::http: Assert supplied header string is terminated by caller.
2020-06-12 18:18:57 -07:00
Jason Volk
09fe270c54
ircd::http: Add status category enum; move static grammars out of function; minor reorg enums.
2020-06-12 17:01:09 -07:00
Jason Volk
b59337eb78
ircd::spirit: Consolidate entry to spirit through wrapper templates.
...
ircd::spirit: More aggressive inlining of interface templates; symbol visibility
2020-06-11 03:51:49 -07:00
Jason Volk
cb7e90fc0f
ircd::http: Use unsigned 64bit; add sanity ceiling for content-length.
2020-05-05 17:40:50 -07:00
Jason Volk
63e0543175
ircd::http: Use unsigned 32bit type for chunk size.
2020-05-05 17:32:41 -07:00
Jason Volk
c2ba27ace7
ircd::http: Add X-Forwarded-For support to request header.
2020-04-22 23:39:56 -07:00
Jason Volk
acbbb08d3c
ircd::http: Add convenience query string array tool w/ decode.
2020-04-21 23:05:28 -07:00
Jason Volk
e71f925f2c
ircd::http: Add and adjust some HTTP codes from Cloudfackel.
...
ircd::http: Add 523 Origin Is Unreachable (Cloudfackel).
ircd::http: Add 521 Connection Timed Out (Cloudfackel).
2020-03-20 22:25:14 -07:00
Jason Volk
7fcd0c948d
ircd::http: Downgrade warning to dwarning; minor cleanup.
2020-03-13 15:01:07 -07:00
Jason Volk
2cefc5e248
ircd::http: Optimize head constructions; reduce branch paths.
2020-03-13 11:07:39 -07:00
Jason Volk
164b881442
ircd::http: Add code 102 Processing (RFC 2518), 103 Early Hints (RFC 8297).
2020-03-11 18:18:53 -07:00
Jason Volk
6da0ae9c22
ircd::http: Parse response location header.
2020-03-11 16:37:02 -07:00
Jason Volk
bf1e4e8dfe
ircd::http: More optimizer-friendly header assignment.
2020-03-11 16:37:02 -07:00
Jason Volk
62108e2c26
ircd::http: Move closure from response::head; use string_view literal.
2020-03-11 16:15:05 -07:00
Jason Volk
5552f69d5b
ircd::http: Move closure from request::head to static function.
2020-03-11 15:24:40 -07:00
Jason Volk
d402eddb98
ircd::run: Place out-of-line default ctor/dtor definitions.
...
ircd::http::error: Place out-of-line dtor definition.
ircd:Ⓜ️ :error: Place out-of-line dtor definition.
ircd::exception: Place out-of-line dtor definition.
ircd:Ⓜ️ :vm: Place out-of-line ctor definitions for copts/opts.
2020-02-28 12:36:45 -08:00
Jason Volk
d2b79dbb04
ircd::http: Reopen namespace with default visibility for clang.
2020-02-13 16:30:07 -08:00
Jason Volk
8ec205b4b5
ircd::resource::response::chunked: Further elaborate the class.
2019-09-23 19:46:32 -07:00
Jason Volk
da6fd3e3ab
ircd::http: Move version mismatch to unlikely segment.
...
ircd:Ⓜ️ :vm: Reduce branches.
ircd::http: Minor cleanup.
2019-09-14 16:33:14 -07:00
Jason Volk
002e7aae1a
ircd::http: Add code 410 Gone.
2019-09-08 19:58:58 -07:00
Jason Volk
fc742ae2d0
ircd: Fix warning/error.
...
ircd: Minor cleanup.
2019-08-16 03:32:13 -07:00
Jason Volk
b8b711c658
ircd::http: Fix query for_each return value.
2019-07-15 17:52:01 -07:00
Jason Volk
60fda46bdf
ircd::http: Consolidate line terminator static strings.
2019-06-28 18:23:43 -07:00
Jason Volk
c59894a01b
ircd::http:: Add 416 Range Not Satisfiable.
2019-06-15 12:50:53 -07:00
Jason Volk
7666561f02
ircd::http: Parse range-request related headers as primaries.
2019-06-15 12:48:01 -07:00
Jason Volk
5f248f5965
ircd::http: Add cloudflare 521 code.
2019-06-07 00:09:58 -07:00
Jason Volk
fceea7b770
ircd::http: Parse the HTTP/1.1 Upgrade header.
2019-05-30 21:48:40 -07:00
Jason Volk
744438ec49
ircd: Precompile the spirit.h header.
2019-04-20 19:24:18 -07:00
Jason Volk
af1bd92b26
ircd::spirit: Apply hidden visibility to all headers + our internal grammar namespaces.
2019-04-16 18:33:01 -07:00
Jason Volk
14c32a2075
ircd::http: Support HTTP/1.0.
2019-04-12 08:36:17 -07:00
Jason Volk
c75d602d69
ircd::http: Fix case comparisons for header strings in header tool.
2019-03-31 19:00:38 -07:00
Jason Volk
94ed73a60e
ircd::http: Remove gratuitous error constructor; fix 505 response content.
2019-03-23 03:13:11 -07:00
Jason Volk
86759ecc15
ircd::http: Show the unrecognized version string in error message.
2019-03-22 21:06:28 -07:00
Jason Volk
4c6e943d49
ircd::http: Simplify conditional.
2019-03-13 15:33:48 -07:00
Jason Volk
bba6981166
ircd::http: Verify HTTP version after request line.
2019-03-09 14:00:00 -08:00