yhirose
c1eee3012e
Fix #998
2021-07-17 17:18:56 -04:00
yhirose
06bfa7e08b
Fix #979
2021-07-14 22:49:49 -04:00
yhirose
3d83cbb872
Improve string compare performance
2021-07-12 23:51:56 -04:00
yhirose
8a803b30f6
Fix #990
2021-07-12 23:46:25 -04:00
yhirose
80be649de7
Fix #961
2021-06-26 18:26:33 -04:00
Gregor Jasny
6b9ffc8bec
Remove dead code ( #965 )
2021-06-18 07:20:34 -04:00
Simon Edlund
d903053faf
Update httplib.h ( #964 )
...
operator""_ replaced by operator""_t
2021-06-17 10:57:25 -04:00
yhirose
676f1b5a26
Updated the user agent string
2021-06-14 08:43:12 -04:00
Baruch Nissenbaum
b8dec12f15
Limit SSL_ERROR_WANT_READ retries to 1 sec ( #957 )
...
retry with 1ms delays to prevent CPU hoggin
2021-06-14 08:41:20 -04:00
yhirose
fc9b223acc
Updated copyright year
2021-06-11 14:45:35 -04:00
CncGpp
ba824089d7
Fix code err code 401 when the password is empty in base_auth. ( #958 )
2021-06-11 14:39:33 -04:00
yhirose
5a43bb8149
Implemented #946 in a different way
2021-06-02 13:45:47 -04:00
yhirose
0104614656
Code refactoring
2021-06-02 08:11:31 -04:00
yhirose
77a77f6d2d
Added set_default_headers on Server
2021-05-23 19:06:28 -04:00
Mathias Laurin
089b9daa1c
Fix virtual call in ClientImpl::~ClientImpl() ( #942 )
...
* Fix virtual call in ClientImpl::~ClientImpl()
This fixes a warning in clang tidy:
> Call to virtual method 'ClientImpl::shutdown_ssl' during
> destruction bypasses virtual dispatch
ClientImpl::~ClientImpl() calls lock_socket_and_shutdown_and_close()
that itself calls shutdown_ssl(). However, shutdown_ssl() is virtual
and C++ does not perform virtual dispatch in destructors, which results
in the wrong overload being called.
This change adds a non-virtual shutdown_ssl_impl() function that is
called from ~SSLClient(). We also inline sock_socket_and_shutdown_and_close()
and removes the virtual call in ~ClientImpl().
* Inline and remove lock_socket_and_shutdown_and_close()
The function only has one caller.
2021-05-22 20:15:20 -04:00
yhirose
ba34ea4ee8
Fix #944
2021-05-22 19:24:50 -04:00
Baruch Nissenbaum
2917b8a005
Explicit cast from size_t to uInt ( #941 )
...
* Explicit cast from size_t to uInt
* static_cast<uInt> instead of C style cast
2021-05-19 18:03:59 -04:00
yhirose
75fdb06696
Added a missing member in copy_settings.
2021-05-15 09:14:44 -04:00
Alex Hornung
e00ad37580
Add option to bypass URL encode of path ( #934 )
2021-05-15 08:48:25 -04:00
Vincent Stumpf
5cfb70c2b4
Fix some shadowed variable warnings ( #935 )
2021-05-15 08:46:16 -04:00
Alessio Pollero
2a70c45697
Fix client.cc code, since res.error() without operator overloading… ( #921 )
...
* Fix client.cc code, since res.error() without operator overloading causing error in Xcode
* Add unit test to check new error to string with operator overloading
* Add inline as requested in code review comment
2021-05-01 13:29:23 -04:00
Aswin Raj Kharel
c58b00580e
reserving before encoding ( #912 )
2021-04-24 16:19:14 -04:00
Ken Schalk
7c60e69c33
Remove redunant call to close_socket ( #911 )
2021-04-23 17:07:19 -04:00
yhirose
73e0729f63
Change sink.write() to return boolean
2021-04-22 07:14:08 -04:00
yhirose
21c529229c
Fixed timeout issues
2021-04-22 07:14:08 -04:00
yhirose
63643e6386
Code format
2021-04-13 20:52:49 -04:00
yhirose
6cc2edce99
Added set_address_family
2021-04-13 20:49:52 -04:00
yhirose
d122ff3ca8
Code formatting
2021-04-13 12:38:45 -04:00
James Young
14c6d526b4
Use newer version-flexible TLS/SSL method ( #904 )
2021-04-13 09:11:38 -04:00
Philipp Hasper
28e07bca16
Fixed minor code smells ( #901 )
2021-04-09 14:55:21 -04:00
yhirose
faa5f1d802
Additional changes for #889
2021-04-05 16:13:41 -04:00
yhirose
9d3365df54
Fix #889
2021-04-05 11:40:53 -04:00
yhirose
6ff84d34d1
Another simpler implementation of #890 ( #891 )
2021-04-02 18:25:04 -04:00
yhirose
b845425cd0
Fix #878
2021-03-16 19:42:44 -04:00
yhirose
89519c88e2
Fix #874
2021-03-10 15:57:56 -05:00
yhirose
ff813bf99d
Fix #863
2021-02-17 15:36:56 -05:00
yhirose
cf475bcb50
Fix #860
2021-02-12 12:21:43 -05:00
yhirose
b7566f6961
Resolve #852
2021-02-02 22:09:35 -05:00
Nikolas
0542fdb8e4
Add exception handler ( #845 )
...
* Add exception handler
* revert content reader changes
* Add test for and fix exception handler
* Fix warning in test
* Readd exception test, improve readme note, don't rethrow errors, remove exception handler response
2021-01-28 17:19:11 -05:00
yhirose
88411a1f52
Fix #846
2021-01-27 14:35:32 +00:00
yhirose
68d1281759
Resolve #839
2021-01-23 13:33:27 -05:00
yhirose
0308d60cb2
Resolve #831 ( #835 )
2021-01-23 12:23:06 -05:00
yhirose
59f5fdbb33
Resolve #840
2021-01-23 11:43:01 -05:00
Anonymous
13184f5f80
Return Server& from handler setters ( #836 )
...
* Update httplib.h
* Update httplib.h
* Update httplib.h
* Update httplib.h
2021-01-22 09:20:21 -05:00
Eric Lee
8d9a477edb
No content check ( #823 )
...
* No content check
* unit test for no content
* fixing merge conflict break
* oops during manual merge conflict
2021-01-13 17:51:40 -05:00
yhirose
f008fe4539
Added middleware support ( #816 )
2021-01-07 18:40:52 -05:00
yhirose
ddf41d29ef
Added const *char and size_t interface
2021-01-06 22:39:58 -05:00
yhirose
3f88a46c4a
Code format
2020-12-31 18:14:28 -05:00
yhirose
242706ea34
Fix #820
2020-12-31 18:14:05 -05:00
yhirose
a9f5f8683f
Fixed warnings on Visual C++
2020-12-31 11:35:11 -05:00
yhirose
60c2213893
Fix #817
2020-12-31 10:58:44 -05:00
yhirose
eb2d28bca2
Code cleanup
2020-12-31 10:37:06 -05:00
yhirose
2c07ec4600
Code cleanup
2020-12-29 09:39:19 -05:00
yhirose
871d8d67b0
Made Request paramater const in handle_file_request
2020-12-28 22:03:44 -05:00
yhirose
e9c6c6e609
Code format
2020-12-19 20:14:53 -05:00
yhirose
40db42108f
Fixed problem with invalid requests including spaces in URL path
2020-12-19 12:03:08 -05:00
Jeremie Rahm
d0bd4afb0b
Ensure socket is closed after processing in SSLServer ( #804 )
2020-12-18 19:29:36 -05:00
Yuri Santos
78ea786abd
[PR] Special function to encode query params ( #801 )
...
* Special function to encode query params
* Fix #include <iomanip>
* Added unescaped charsets to encode_query_param
* Unit tests for encode_query_param
2020-12-18 17:51:11 -05:00
Anonymous
0cff3245df
Extend built-in extension MIME mapping ( #799 )
...
* Update README.md
* Update httplib.h
* Update httplib.h
* Update httplib.h
* Update httplib.h
* Remove duplicate cases
Someone left a bunch of duplicate cases, idiot, couldn't have been me.
* Reformat
Modify spacing and whatnot
* Update README.md
2020-12-18 09:32:19 -05:00
yhirose
0e3925db3f
Fixed build error
2020-12-18 00:07:48 +00:00
yhirose
c9a13d214b
Changed not to use string_view
2020-12-17 18:48:27 -05:00
yhirose
0954af2d4c
Use user-defined literals for file extention match
2020-12-17 18:27:04 -05:00
yhirose
7c1c952f5a
Don't allow invalid status code format (It sould be a three-digit code.)
2020-12-15 20:25:24 -05:00
yhirose
c1264bfedc
Fix problem with mp4 w/ Range header
2020-12-14 22:41:05 -05:00
yhirose
eb240ad2e5
Code cleanup
2020-12-03 16:03:12 -05:00
yhirose
88c961f37e
Removed std::atomic<Error> error_
2020-12-01 15:17:34 +00:00
yhirose
5dd605d3a2
Fix #762
2020-11-30 21:49:31 -05:00
yhirose
615867322d
Fixed build errors and apply clangformat
2020-11-29 12:29:18 -05:00
David Wu
02d3cd5909
Fix multiple threading bugs including #699 and #697
2020-11-29 12:29:15 -05:00
yhirose
a5c239c174
Fix #765
2020-11-21 16:35:31 -05:00
yhirose
c2afc5ca44
Added chunked content provider support on client
2020-11-21 08:46:50 -05:00
Unkorunk
b21dc8cbe0
Fix incorrect content_encoding for Brotli ( #763 )
2020-11-19 12:39:20 -05:00
372046933
e1133a2dcb
std::tolower is undefined if the argument's value is neither representable as unsigned char nor equal to EOF ( #761 )
...
Co-authored-by: taoxu <taoxu@bilibili.com>
2020-11-19 09:21:40 -05:00
yhirose
95d0b073bd
Fix #754
2020-11-15 08:13:08 -05:00
vawen
9c7d841b37
Fix : #746 Compile error under VS2015 ( #747 )
...
Co-authored-by: jigarcia@vaxtor.es <jigarcia@vaxtor.es>
2020-11-10 08:41:53 -05:00
yhirose
f086bf5310
Fix #738
2020-11-08 18:16:23 -05:00
yhirose
6adf130bf3
Fix #739
2020-11-07 21:54:47 -05:00
yhirose
eb4b7c70a9
Fix #737
2020-11-07 09:33:22 -05:00
yhirose
84661ea6ed
Refactoring
2020-11-05 07:06:53 -05:00
yhirose
041122908c
Fix problem with invalid range
2020-11-05 00:20:59 -05:00
yhirose
726c64cf10
Code format
2020-11-05 00:20:59 -05:00
Omkar Jadhav
72b81badad
Fix issues reported by oss-fuzz ( #729 )
...
* Fix oss-fuzz issue #26529
* Add test for oss-fuzz issue #26598
* Fix oss-fuzz issue #26632
* Revert change and add new test cases
2020-11-03 11:36:02 -05:00
Daniel Ottiger
6e1879dfae
ssl-verify-host: fix verifying ip addresses containing zero's ( #732 )
...
* ssl-verify-host: fix verifying ip addresses containing zero's
If the subject alternate name contained an ip address with an zero
(like 10.42.0.1) it could not successfully verify.
It is because in c++ strings are null-terminated
and therefore strlen(name) would return a wrong result.
As I can not see why we can not trust the length returned by openssl,
lets drop this check.
* ssl-verify-host: add test case
lets try to validate against 127.0.0.1
Co-authored-by: Daniel Ottiger <daniel.ottiger@ch.schindler.com>
2020-11-02 20:27:34 -05:00
miketsts
eb1d2e04bc
SSL_connect and SSL_accept in non-blocking mode ( #728 )
...
SSL connection is performed in two steps:
First, a regular socket connection is established.
Then, SSL_connect/SSL_accept is called to establish SSL handshake.
If a network problem occurs during the second stage, SSL_connect on
the client may hang indefinitely.
The non-blocking mode solves this problem.
Co-authored-by: Michael Tseitlin <michael.tseitlin@concertio.com>
2020-11-02 17:05:08 -05:00
yhirose
c909ffa758
Fix #731
2020-11-01 21:03:47 -05:00
yhirose
8b1b31ac20
Fix #723
2020-10-27 20:32:19 -04:00
yhirose
953600c177
Fixed compiler error for old compiler.
2020-10-27 12:23:37 -04:00
yhirose
536e7eb7f2
Revert "Fix #697 ". (It broke unit test...)
...
This reverts commit 6d66721ba1 .
2020-10-25 20:22:39 -04:00
yhirose
6d66721ba1
Fix #697
2020-10-25 16:55:54 -04:00
yhirose
3b29cd0bdc
Fix #698
2020-10-25 12:14:54 -04:00
yhirose
109b624dfe
Fix #708 ( #713 )
...
* Fix #708
* Rename ContentReceiver2 to ContentReceiverWithProgress
2020-10-22 11:48:43 -04:00
yhirose
a50b7591ca
Fix #714
2020-10-21 13:02:33 -04:00
yhirose
bf8fc11b53
Code cleanup
2020-10-20 21:24:47 -04:00
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