1
0
mirror of synced 2025-06-10 20:21:41 +03:00
Commit Graph

436 Commits

Author SHA1 Message Date
094a6a614a Adds workaround for socket creation on older Windows variants
Since the WSA_FLAG_NO_HANDLE_INHERIT is only supported on Windows 7 SP1 and above the socket creation fails on older Windows Systems.
     
Let's try to create a socket the old way in this case.
     
Reference:
https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketa
     
WSA_FLAG_NO_HANDLE_INHERIT:
This flag is supported on Windows 7 with SP1, Windows Server 2008 R2 with SP1, and later
2019-12-18 07:49:36 +01:00
39c7bba7b9 Code cleanup 2019-12-17 13:05:08 -05:00
f2476f21fc Fixed URL encoding problem when sending a request to proxy 2019-12-17 12:58:25 -05:00
9a41b16cbb Fix #285. Added set_interface method on client 2019-12-15 17:44:00 -05:00
260422b7d7 Format code 2019-12-14 23:46:11 -05:00
d2c7b447d5 Fix #289: Fixed build problem with Visual C++ 2019-12-13 09:12:50 -05:00
72b20c08da Better API names 2019-12-13 06:56:00 -05:00
afd6d5f9dc Removed compress parameter and added compress method on client 2019-12-12 23:09:59 -05:00
5324b3d661 Improved multipart form data interface 2019-12-12 22:48:09 -05:00
151ccba57e Code cleanup 2019-12-12 21:50:12 -05:00
69a28d50f6 Fix #287 2019-12-12 12:50:45 -05:00
3c2736bb2a Fixed regex syntax error 2019-12-10 13:07:49 -05:00
fd4e1b4112 Fix #266 2019-12-10 12:10:14 -05:00
f6a2365ca5 Fix #282 2019-12-06 12:21:15 -05:00
df1ff7510b Made code more readable 2019-12-06 12:02:08 -05:00
379905bd34 Merge branch 'whitespace-and-libcxx-compat' of https://github.com/matvore/cpp-httplib 2019-12-06 09:51:21 -05:00
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
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
e1785d6723 Remove use of exceptions. 2019-12-05 15:56:55 -08:00
033bc35723 Improve multipart content reader interface 2019-12-02 07:11:12 -05:00
b69c0a1dcb Content receiver support for multipart content (Fix #241) 2019-12-01 22:04:26 -05:00
295e4d58aa Fix #276 2019-11-29 17:07:51 -05:00
6f58dc728f Fixed problem with requests with no content 2019-11-28 08:28:01 -05:00
880f7fa62b Fix #273 2019-11-27 12:54:01 -05:00
8f3dbf7f21 Code cleanup 2019-11-27 08:01:25 -05:00
924a557fa3 Changed to use 'using' instead of 'typedef' 2019-11-27 07:03:17 -05:00
d8da740597 Fix #270 2019-11-26 08:48:17 -05:00
d45676b064 Added NoThread task queue 2019-11-25 13:00:37 -05:00
94d13e88a5 Fixed regex problem with Apple LLVM version 8.0.0 2019-11-03 19:27:12 -05:00
a62a48a7b5 Modernize some additional code 2019-10-31 21:49:04 +01:00
c652919954 Do not use shared_ptr where not required 2019-10-31 21:48:48 +01:00
58753ba33c Fix some virtual override warnings 2019-10-31 21:38:37 +01:00
5706828d2c Replace C-style arrays and fix static-code analysis warnings 2019-10-31 21:32:07 +01:00
e743b8cd57 Fix #254 2019-10-30 08:21:59 -04:00
9d57899352 Simplified ContentReceiver interface 2019-10-27 23:38:56 -04:00
d03937e144 Content receiver support on server 2019-10-27 23:20:56 -04:00
8fb37a449d Fix #251 2019-10-27 17:27:57 -04:00
f0b1b5dbfd Added set_read_timeout. Fix #248. 2019-10-27 14:57:22 -04:00
5f32c424c2 Content provider support on client 2019-10-25 18:39:04 -04:00
f0683f2301 Fixed build errors 2019-10-25 13:11:49 -04:00
0d527e2b83 Code formatting 2019-10-25 12:09:26 -04:00
bea3ebd7af Added 'compress' option to POST, PUT and PATCH. 2019-10-25 11:46:12 -04:00
380f725713 Code format 2019-10-24 22:20:42 -04:00
d1abf96581 html files may be .htm 2019-10-23 09:52:21 +02:00
7a3abd2768 Merge pull request #243 from Sil3ntStorm/patch1
Allow use of OpenSSL 1.1.1, fix compile errors
2019-10-20 10:12:14 -04:00
89e1e9b8fe Added bind_to_port()
- This compliments the existing `bind_to_any_port()`
  where you can determine if the bind succeeded prior
  to calling `listen_after_bind()` but allows you to
  specify the port.
2019-10-19 10:41:19 -06:00
98d16eb836 Allow use of OpenSSL 1.1.1, fix compile errors 2019-10-19 16:40:06 +02:00
dcdb0d047b Fixed PRI request problem 2019-10-03 13:44:18 -04:00
1f86e41d97 Changed back to select as default 2019-10-03 13:44:18 -04:00
f23f9a06a9 Allow configuration to be overriden without source editing 2019-09-30 22:00:17 +02:00