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
Jason Volk
57f28374c9
ircd::http: Add 428 Precondition Required.
2019-03-07 16:01:19 -08:00
Jason Volk
6af4782922
ircd::http: Elaborate the query string interface with indexing.
2019-03-06 17:21:38 -08:00
Jason Volk
42a41eeb0d
ircd::http: Fix/Add 30x related codes.
2019-02-19 11:34:48 -08:00
Jason Volk
b42ded1fc7
ircd::http: Add string views to make the raw head data available.
2019-01-12 11:56:00 -08:00
Jason Volk
d983970907
ircd::http: Improve conditions for header generation.
2018-12-31 12:28:28 -08:00
Jason Volk
57079c0276
ircd::http: Add more functionality to headers class.
2018-12-31 12:28:28 -08:00
Jason Volk
6a25df6582
ircd::http: Check for user supplied header before generating one.
2018-12-30 18:07:18 -08:00
Jason Volk
7c5b709803
ircd::http: De-template grammar and assume iterator type.
2018-12-21 13:56:20 -08:00
Jason Volk
b9974bf4ab
ircd::http: Allow empty chunk header to indicate a zero length.
2018-12-05 15:15:49 -08:00
Jason Volk
10b8db0bb3
ircd::http: Add format string construction for http::error.
2018-12-05 15:15:26 -08:00
Jason Volk
d4d121f6c3
ircd::http: Minor definition section labels.
2018-10-14 02:40:22 -07:00
Jason Volk
cbf96969db
ircd::http: Support 524 "A Timeout Occurred"
2018-10-01 11:30:34 -07:00
Jason Volk
e5f94ed704
ircd::http: Simplify interface; DRY.
2018-08-30 19:00:07 -07:00
Jason Volk
83edde639f
ircd::http: Improve query::string::at() error message to show key name.
2018-08-30 10:58:32 -07:00