Matthew DeVore
bc9251ea49
Work around incompatibility in <regex> in libc++
...
libc++ (the implementation of the C++ standard library usually used by
Clang) throws an exception for the regex used by parse_headers before
this patch for certain strings. Work around this by simplifying the
regex and parsing the header lines "by hand" partially. I have repro'd
this problem with Xcode 11.1 which I believe uses libc++ version 8.
This may be a bug in libc++ as I can't see why the regex would result in
asymptotic run-time complexity for any strings. However, it may take a
while for libc++ to be fixed and for everyone to migrate to it, so it
makes sense to work around it in this codebase for now.
2019-12-05 17:14:16 -08:00
Matthew DeVore
a9e942d755
Properly trim whitespace from headers
...
HTTP Whitespace and regex whitespace are not the same, so we can't use
\s in regexes when parsing HTTP headers. Instead, explicitly specify
what is considered whitespace in the regex.
2019-12-05 17:14:16 -08:00
yhirose
033bc35723
Improve multipart content reader interface
2019-12-02 07:11:12 -05:00
yhirose
b69c0a1dcb
Content receiver support for multipart content ( Fix #241 )
2019-12-01 22:04:26 -05:00
yhirose
295e4d58aa
Fix #276
2019-11-29 17:07:51 -05:00
yhirose
880f7fa62b
Fix #273
2019-11-27 12:54:01 -05:00
yhirose
9d57899352
Simplified ContentReceiver interface
2019-10-27 23:38:56 -04:00
yhirose
d03937e144
Content receiver support on server
2019-10-27 23:20:56 -04:00
yhirose
5f32c424c2
Content provider support on client
2019-10-25 18:39:04 -04:00
yhirose
0d527e2b83
Code formatting
2019-10-25 12:09:26 -04:00
yhirose
bea3ebd7af
Added 'compress' option to POST, PUT and PATCH.
2019-10-25 11:46:12 -04:00
yhirose
001b8a5529
Added unit tests
2019-10-22 23:32:14 -04:00
yhirose
dcdb0d047b
Fixed PRI request problem
2019-10-03 13:44:18 -04:00
yhirose
6d8302313c
Fixed warning
2019-10-03 13:44:18 -04:00
Shunsuke Mie
5f49c13f95
Fix a test, ConnectionErrorTest::InvalidPort. currently, the abcde.com is valid, so I change it. The first byte doesn't permit a hyphen.
2019-10-03 21:49:11 +09:00
yhirose
a99e02aeb3
Add HTTP/2 Connection Preface check test
2019-10-01 06:28:45 -04:00
Steffen Schuemann
7e92ffec48
Added new Client::Get variant that combines a ContentReceiver with a new ResponseHandler
...
While trying to implement streaming of internet radio, where a ContentReceiver is needed to handle the audio data, I had the problem, that important information about the stream data is part of the HTTP header (e.g. size of audio chunks between meta data), so I added a ResponseHandler and a new Get variant, to gain access to the header before handling the first chunk of data.
The ResponseHandler can abort the request by returning false, in the same way as the ContentReceiver.
A test case was also added.
2019-09-14 14:55:12 +02:00
yhirose
531708816a
Update README
2019-09-06 18:29:22 -04:00
yhirose
bfec81998b
Code cleanup
2019-09-06 18:16:42 -04:00
yhirose
c9238434e1
Added redirect support ( Fix #211 )
2019-09-06 18:07:35 -04:00
yhirose
a0fe91e84d
Fixed unit test problem
2019-09-03 17:16:07 -04:00
yhirose
80f040cf69
Fix #209
2019-09-03 17:10:04 -04:00
yhirose
1e82359329
Keep-alive connection support on client ( Fix #36 )
2019-08-31 17:52:24 -04:00
yhirose
64991a560a
Fixed problems with Win32 build
2019-08-07 15:21:22 +09:00
yhirose
d7bb402ca7
Format code
2019-08-06 18:12:05 +09:00
yhirose
2823a94fc1
Added 'resource_releaser' for content provider
2019-08-05 09:40:23 +09:00
yhirose
5a13539e57
Revert "Fixed unit test error on Windows"
...
This reverts commit 531f6ab84d189deebc90fd0d123768428da868b8.
2019-08-04 09:50:47 +09:00
yhirose
531f6ab84d
Fixed unit test error on Windows
2019-08-03 20:43:27 -04:00
yhirose
c899462e75
Added 'Content-Range' header for single range request
2019-08-03 22:12:24 +09:00
yhirose
9d7b717504
Range header support and redesign of content provider interface
2019-08-03 03:28:39 +09:00
yhirose
e8799383f3
Made unit tests stable
2019-07-30 01:51:53 +00:00
yhirose
ba7f9fe4c3
Added more unit tests
2019-07-28 19:11:58 -04:00
yhirose
34651ef89b
Fix #121
2019-07-23 09:53:44 -04:00
yhirose
e0d327558d
Updated README
2019-07-23 08:05:51 -04:00
yhirose
b5a1d52f36
Test code cleanup
2019-07-19 11:47:08 -04:00
yhirose
eaafa5d55c
Fix #127
2019-07-19 11:38:06 -04:00
yhirose
6f663028e9
Fix #139 . Content receiver support
2019-07-17 22:00:18 -04:00
yhirose
1981e0ccad
Add SSL object on Request
2019-06-20 18:52:28 -04:00
yhirose
8d12e0d8f4
Simplified code
2019-06-11 21:39:35 -04:00
yhirose
07d9843b91
clangformat
2019-06-11 20:57:02 -04:00
PixlRainbow
b2f4120d15
setup test cases for client certificates
2019-06-07 01:23:22 +08:00
yhirose
dfc94f2cab
Code cleanup
2019-05-07 21:46:15 -04:00
yhirose
3f42804a4f
Wildcard support for verifying server certificate. fix #87
2019-05-07 21:40:03 -04:00
yhirose
744e8e7071
Fix #144
2019-04-12 23:34:27 -04:00
yhirose
8af85019dc
Removed get_header_value_int and use uint64_t for the return value of get_header_value_uint64
2019-04-12 17:22:39 -04:00
Yuji Hirose
5d082f1da4
Apply clangformat
2019-04-11 08:13:31 -04:00
yhirose
a91a0b7dbf
Fix #140
2019-04-10 12:21:42 -04:00
yhirose
8483e5931f
Fix #136
2019-03-28 19:56:32 -04:00
Yuji Hirose
96cacd24f9
Fixed #134
2019-03-12 08:49:08 -04:00
yhirose
3a3b02e2e5
Added Base Authentication test
2019-02-14 22:51:17 -05:00