Omkar Jadhav
bc4a613b6d
Fix suffix-byte-range issue ( #711 )
2020-10-20 11:11:27 -04:00
yhirose
4bb001351c
Fix #705
2020-10-19 22:13:24 -04:00
yhirose
e155ba44bb
Fix #706
2020-10-19 15:23:35 -04:00
Muchamad Arifin Dwi P
a4a9637738
Fix #700 null pointer exception ( #702 )
2020-10-16 20:44:14 -04:00
Snape3058
cc5147ad72
Replace shared_ptr with unique_ptr for better performance ( #695 )
...
* Backport std::make_unique from C++14.
* Replace shared_ptr with unique_ptr for better performance.
Co-authored-by: Ella <maxutong16@otcaix.iscas.ac.cn>
2020-10-15 08:09:11 -04:00
Andrew Gasparovic
fffbf1a669
Use move semantics instead of copy for functions ( #692 )
...
* Use move semantics instead of copy for functions
In some cases, a few more copies could be prevented by changing function definitions to accept parameters by const-ref, rather than by value, but I didn't want to change public signatures.
* Fix two use-after-move errors
2020-10-11 19:00:36 -04:00
lightvector
d37bc0fb4d
Allow client to specify boundary and use more entropy by default ( #691 ) ( #694 )
2020-10-11 15:34:54 -04:00
Andrew Gasparovic
6d60dc8839
Add cache_control parameter to set_mount_point ( #688 )
...
* Add `cache_control` parameter to `set_mount_point`
Specifies the Cache-Control header value to return when specified. For example:
```
svr.set_mount_point("/assets", "public/assets", "public, max-age=604800, immutable");
```
* Add default for cache_control
Default to "no-cache", which is implicitly what is happening today.
* Change set_mount_point to accept Headers
* Don't use C++17 destructuring
2020-10-10 20:46:08 -04:00
Wang Gao
b713a3a651
fix MSVC2015 error: std::tolower to ::lower ( #689 )
2020-10-10 12:02:50 -04:00
yhirose
09fdf4eacd
Fix #685
2020-10-08 21:37:42 -04:00
Omkar Jadhav
143b2dd15a
Fix memory leak due caused due to X509_STORE ( #671 )
...
* Fix memory leak due caused due to X509_STORE
* Add test for repro and address sanitizer to compiler flags
* Add comment
* Sync
* Associate ca_store with ssl context within set_ca_cert_store()
* Split SlowPost test
* Fix #674
Co-authored-by: yhirose <yuji.hirose.bug@gmail.com>
2020-10-02 13:17:37 -04:00
yhirose
e2c4e9d95c
Fix #674
2020-09-29 19:22:28 -04:00
yhirose
cc14855ba0
Fix #661
2020-09-26 04:50:09 -04:00
yhirose
56c418745f
Fixed conction close problem with HTTP 1.0 client
2020-09-25 20:58:49 -04:00
yhirose
4ce9911837
Add <sstream>
2020-09-25 18:17:32 -04:00
yhirose
a2f4e29a7b
Add set_keep_alive_timeout
2020-09-25 17:57:33 -04:00
mi01
b8cf739d27
Add cctype header ( #656 )
2020-09-16 16:32:49 -04:00
yhirose
7b55ecdc59
Fixed #650
2020-09-12 16:11:14 -04:00
tmahring
e9575bcb78
don't replace plus with space in headers ( #649 )
...
* don't replace plus with space in headers
* fixed forward handling with changed header parsing
* add test for boundaries containing plus chars
2020-09-10 20:27:01 -04:00
Jonas Minnberg
308aeb187b
Undefined if2ip() also on Android since getifaddrs() does not exist. ( #648 )
...
Co-authored-by: Jonas Minnberg <jonas@minnberg.se>
2020-09-10 07:52:01 -04:00
Ivan Fefer
3da4a0ac69
Add compression buffer size customization ( #644 )
...
* add compression buffer size customization and small brotli refactor
* allocat brotli buffer once
* add init to brotli decoder buffer
2020-09-08 12:18:14 -04:00
yhirose
9d12b3f20e
Fixed warnings and refactoring
2020-09-03 20:33:30 -04:00
Omkar Jadhav
852a374748
Fix server crash caused due to regex complexity while matching headers. ( #632 )
...
* Fix parsing to parse query string with single space char.
When passed ' ' as a query string, the server crashes cause of illegal memory access done in httplib::detail::split. Have added checks to make sure the split function has a valid string with length > 0.
* Fix parsing to parse query string with single space char.
* Fix server crash caused due to regex complexity while matching headers.
While parsing content-type header in multipart form request the server crashes due to the exhaustion of max iterations performed while matching the input string with content-type regex.
Have removed the regex which might use backtracking while matching and replaced it with manual string processing. Have added tests as well.
* Remove magic number
Co-authored-by: Ivan Fefer <fefer.ivan@gmail.com>
Co-authored-by: yhirose <yhirose@users.noreply.github.com>
Co-authored-by: Ivan Fefer <fefer.ivan@gmail.com>
2020-09-03 13:17:52 -04:00
Ivan Fefer
3b5bab3308
Fix gzip_decompressor in case of one chunk being exactly equal to buffer size ( #636 )
...
* add larget chunks test
* revert test
* Fix gzip decoder in case of chunk being equal to buffer size
* add test
2020-09-03 12:20:02 -04:00
yhirose
69e75f4a67
Fix #635 . HTTPS request stucked with proxy ( #637 )
2020-09-03 12:17:53 -04:00
Omkar Jadhav
b0fd4befb1
Fix query parsing issues ( #629 )
...
* Fix parsing to parse query string with single space char.
When passed ' ' as a query string, the server crashes cause of illegal memory access done in httplib::detail::split. Have added checks to make sure the split function has a valid string with length > 0.
* Fix parsing to parse query string with single space char.
2020-08-28 09:43:28 -04:00
yhirose
3e80666a74
Fix #628
2020-08-27 19:45:28 -04:00
yhirose
16df0ef37e
Code cleanup
2020-08-26 12:18:49 -04:00
Ivan Fefer
f1a2ac5108
Avoid copying of content provider if possible ( #627 )
2020-08-26 08:56:51 -04:00
yhirose
e5903635e2
Fix #619
2020-08-22 12:54:43 -04:00
yhirose
510b4eaaae
Fix #613
2020-08-17 13:40:06 -04:00
yhirose
e5dd410256
Added set_content_provider without content length
2020-08-15 05:53:49 -04:00
yhirose
951e46929e
Fix #609
2020-08-14 15:01:09 -04:00
yhirose
c8adac30f4
Fix #564 again
2020-08-13 08:07:25 -04:00
R Edgar
649b1d2172
Fix nullptr_t issue ( #605 )
...
Clang complains that `nullptr_t` should be `std::nullptr_t
2020-08-09 16:45:53 -04:00
yhirose
dc5f9ba164
Better error handling on client ( #601 )
2020-08-08 20:50:24 -04:00
yhirose
04002d57bd
Added set_default_headers ( Fix #600 )
2020-08-03 22:05:37 -04:00
yhirose
38a7706c8b
Removed old Keep-Alive functions
2020-08-03 22:04:40 -04:00
PixlRainbow
5f76cb01c7
fix #592 -- add check for static-linked OpenSSL ( #595 )
2020-08-01 08:10:42 -04:00
yhirose
4f84eeb298
Bearer Token auth support. Fix #484
2020-07-31 12:37:14 -04:00
yhirose
a5b4cfadb9
Brotli suport on server. Fix #578
2020-07-31 10:23:57 -04:00
yhirose
3e906a9b8c
Fix #591
2020-07-30 18:26:18 -04:00
yhirose
110393eadb
Class name change
2020-07-30 17:27:07 -04:00
ThePiso
e130cf3a3b
The piso patch 1 ( #590 )
...
* Update httplib.h
When you disconnect and reconnect from the network, your network stack rewrites and updates /etc/resolv.conf accordingly. This configuration file is needed by the DNS resolver in the C library. The C library reads the DNS configuration from /etc/resolv.conf the first time, and caches it. It doesn't check, with every lookup, if the contents of /etc/resolv.conf have changed.
the solution is to add a call to res_init(), defined in resolv.h
* Update httplib.h
2020-07-30 10:11:02 -04:00
yhirose
8a348f17fd
Resolved #192
2020-07-30 01:47:54 -04:00
yhirose
797d1f27e8
Fix #357
2020-07-29 23:12:05 -04:00
yhirose
6cce7951fc
Fixed build error on non Windows environments with OpenSSL
2020-07-27 22:34:35 -04:00
yhirose
e9058e5639
Fixed build error on Windows with OpenSSL
2020-07-27 22:32:31 -04:00
yhirose
2538a85486
Fix #581
2020-07-27 22:07:04 -04:00
yhirose
12540fe8d3
Brotli support on client
2020-07-25 20:44:02 -04:00
yhirose
90da199aba
Disable compression when content-type is text/event-stream
2020-07-25 10:46:52 -04:00
yhirose
9ca1fa8b18
Fix #576
2020-07-25 09:37:57 -04:00
yhirose
72ce293fed
Removed set_timeout_sec and left set_base_dir
2020-07-20 17:15:16 -04:00
yhirose
b476b55771
Fix #557
2020-07-20 17:04:50 -04:00
yhirose
5ddaf949d0
Fixed build error on Windows
2020-07-19 18:32:28 -04:00
yhirose
457a5a7501
Added compressor class
2020-07-19 17:44:45 -04:00
Daniel Ottiger
2ce080c2cb
include <wincrypt.h> as otherwise CertOpenSystemStoreW can not be found ( #568 )
...
- visual studio 2019, version 16.6.3
- 64 bit target
2020-07-15 10:17:18 -04:00
yhirose
6ad25b6cf0
Fix #566
2020-07-12 20:41:02 -04:00
yhirose
3dff60eb16
Fix #565
2020-07-10 08:18:28 -04:00
yhirose
5038314b21
Fix #564
2020-07-08 13:56:06 -04:00
yhirose
6e1297cab0
Fix #150 ( #556 )
2020-07-07 18:55:46 -04:00
yhirose
7de743c962
Code format
2020-07-04 00:11:32 -04:00
Umiade
964fb5e5ca
Fix: regex can't match when proxy was set to some web debugger(e.g. Fiddler) ( #553 )
...
Co-authored-by: Umiade <hanyuchao@corp.netease.com>
2020-07-03 07:17:04 -04:00
yhirose
c4f3f9529b
Fix #534 ( #546 )
2020-07-02 21:57:50 -04:00
Ilya Tsybulsky
887def9490
Fix logger never called when write_content_with_provider returns false ( #549 )
2020-07-01 17:09:43 -04:00
Ilya Tsybulsky
bad6b2d22f
fix-the-code-won't compile-with-sdl-checks-on ( #550 )
2020-07-01 17:09:19 -04:00
rundong08
3d47a51430
Fixed comparison of integers of different signs. ( #544 )
2020-06-29 21:19:56 -04:00
yhirose
ce502a73e1
Fix #531
2020-06-22 14:56:18 -04:00
yhirose
6b22409217
Code format
2020-06-18 23:33:07 -04:00
yhirose
969cccd52a
Use && for parameter of boundary
2020-06-18 23:32:09 -04:00
yhirose
4a9c048bbc
Fixed problem with set_socket_options
2020-06-18 23:31:41 -04:00
yhirose
bfabbec8c7
Fix #528
2020-06-18 12:20:01 -04:00
yhirose
3e9c06cf79
Fixed #527
2020-06-18 12:18:43 -04:00
yhirose
29677540ae
Removed unnecessary yeid.
2020-06-16 21:33:10 -04:00
yhirose
71fcfeb912
Removed unnecessary code
2020-06-16 21:21:03 -04:00
yhirose
c7d22e451f
Fixed timeout calculation bugs
2020-06-16 21:20:47 -04:00
yhirose
42f9f9107f
Updated version in the User Agent string
2020-06-16 17:53:15 -04:00
yhirose
7cd25fbd63
Fix #499
2020-06-16 17:46:23 -04:00
yhirose
3dfb4ecac2
Fix #522
2020-06-15 23:09:46 -04:00
yhirose
144114f316
Fixed warnings on Windows
2020-06-13 23:20:21 -04:00
yhirose
0743d78c9b
Fixed ClientStop test error.
2020-06-14 03:01:41 +00:00
yhirose
e022b8b80b
Refactoring to make it ready for KeepAlive connection on Client
2020-06-13 21:42:23 -04:00
yhirose
f80b6bd980
Added Endpoint structure in Client
2020-06-13 01:26:57 -04:00
yhirose
5af7222217
Fixed Client::stop problem with more than one requests on threads
2020-06-12 11:04:37 -04:00
yhirose
24bdb736f0
Fix #506
2020-06-09 19:58:01 -04:00
yhirose
d0dc200633
Code format
2020-06-09 19:17:58 -04:00
Nicolas Schneider
919a51091f
replace usage of [[deprecated]] with CPPHTTPLIB_DEPRECATED ( #513 )
2020-06-03 13:12:31 -04:00
Nicolas Schneider
05e8b22989
fix cast warning ( #512 )
2020-06-03 07:44:16 -04:00
Nicolas Schneider
00dcd6b004
check for [[deprecated]] support via feature test macro ( #511 )
...
The [[deprecated]] specifier is a C++14 feature, so it might not always
be available on a C++11 compiler.
2020-06-03 07:43:56 -04:00
yhirose
a42c6b99d3
Code cleanup
2020-06-02 19:06:16 -04:00
Wang Gao
812cb5bc3d
fix get value function ( #509 )
2020-06-02 19:05:04 -04:00
yhirose
aea60feb85
Code cleanup
2020-06-01 13:22:02 -04:00
yhirose
b3a4045300
Fix #503
2020-05-28 19:19:18 -04:00
yhirose
d9fe3fa020
Fix #504
2020-05-28 17:08:05 -04:00
yhirose
d8612ac02d
Fixed build error...
2020-05-28 12:51:52 -04:00
yhirose
83ee6007da
Fix #500
2020-05-28 12:06:11 -04:00
yhirose
3eaa769a2d
Fix #481 , #483 , #487
2020-05-26 18:34:32 -04:00
yhirose
b91540514d
Fix #494
2020-05-25 10:50:24 -04:00
yhirose
ab563ff52c
Fix #496
2020-05-25 10:38:47 -04:00
yhirose
be7962f140
Fix #489
2020-05-24 15:18:34 -04:00