Skip to content

syncfork#2

Open
sridmad wants to merge 253 commits intosridmad:syncbranchfrom
microsoft:master
Open

syncfork#2
sridmad wants to merge 253 commits intosridmad:syncbranchfrom
microsoft:master

Conversation

@sridmad
Copy link
Copy Markdown
Owner

@sridmad sridmad commented Jun 7, 2025

No description provided.

ras0219-msft and others added 30 commits July 17, 2018 13:34
* Delete open() from _http_client_communicator and move its functionality into WinHTTP, as that is the only backend using that thing.

* Some CR comments from Robert.
utilities::datetime::to_string(): datetime_str and buf were oversized
for fitting into output without possible trunctation
gcc-8: -Wno-format-truncation

clang-6: -Wdelete-non-virtual-dtor
clang-6: -Wunused-lambda-capture

removed duplicated: -Wno-reorder

This fixes #778
…-config

Disable cert revocation check if cert validation is disabled
…should be about 5x faster. (#823)

The _Is_word change resulted in the following results in microbenchmarks; the previous is_alnum looks like branching_ranges.

.\word_character_test.exe
08/01/18 16:33:03
Running .\word_character_test.exe
Run on (12 X 2904 MHz CPU s)
CPU Caches:
  L1 Data 32K (x6)
  L1 Instruction 32K (x6)
  L2 Unified 262K (x6)
  L3 Unified 12582K (x1)
--------------------------------------------------------
Benchmark                 Time           CPU Iterations
--------------------------------------------------------
strchr_search    19426572900 ns 19421875000 ns          1
branching_ranges 7582129000 ns 7578125000 ns          1
branching_search 6592977800 ns 6593750000 ns          1
table_index      1091321300 ns 1078125000 ns          1
This moves iOS.cmake into the file so there is on need to add it. Also allows for boost to be static libs versus framework
* Improve error handling in on_accept

* Move lock to the top of the function

* Lock shared data at the right locations.

* [http_listener] improve refcount and lifetime management by using RAII.
…nder Unix (#762)

* Add asio_connection::was_closed_by_server() to reduce duplication

Reduce code duplication between ssl_proxy_tunnel::handle_status_line()
and the method with the same name in asio_context itself by moving the
common handling of connections closed by server into a new function.

No real changes, this is a pure refactoring.

* Fix checking for server-side closure of HTTPS connections

When an SSL connection times out due to being closed by server, a
different error code is returned, so we need to check for it too in
was_closed_by_server().

Without this, losing connection was not detected at all when using
HTTPS, resulting in "Failed to read HTTP status line" errors whenever
the same http_client was reused after more than the server keep alive
timeout of inactivity.

See #592.

* Fix bug with using re-opened connections with ASIO

Creating a new request when the existing connection being used was
closed by the server didn't work correctly because the associated input
stream was already exhausted, as its contents had been already "sent" to
the server using the now discarded connection, so starting a new request
using the same body stream never worked.

Fix this by explicitly rewinding the stream to the beginning before
using it again.

Note that even with this fix using a custom body stream which is not
positioned at the beginning initially (or which doesn't support
rewinding) still wouldn't work, but at least it fixes the most common
use case.

See #592.

* Reduce duplicate code between ssl_proxy and asio_context in handle_read_status_line.
Avoid increasing public surface with rewind function.
…tion (#737)

* Update CMakeLists.txt to install the cmake bindings in the right location

/usr/lib/cpprestsdk is not the correct FHS standard cmake location.
It should be placed in /usr/lib/<triplet>/cmake/cpprestsdk instead.

Same goes for libraries, support multiarch location if we use UNIX

* Revert changes to CPPREST_EXPORT_DIR. Use GNUInstallDirs on all platforms.
…rides so far (#818)

* Microperf: Use lock_guard instead of unique_lock.

* Bill hates lock_guard more.

* Ref them connections.

* Demacroize.

* Commonize port and merge some CRLFs into adjacent string literals.

* Add missing template keyword.

* Avoid stringstream in constructing the proxy_str.

* Remove unused forward declarations of some HTTP things.

* Use NOMINMAX instead of undef min and max everywhere.

* Bunch of inheritance hygiene.

* What do you mean you want examples to compile?

* More CR comments from Robert.

* Add static.

* Use existing to_string_t.
Some files don't have a space inbetween the '<' and '::' charachters, which
will cause build failures on older toolchains. Adding a space inbetween these
two characters fixes the issue.

See http://autobuild.buildroot.net/results/797a9b5fdf6ab0f16f2249324b48292dfab61d9f/build-end.log
for more information.
AND_CAPTURE_MEMBER_FUNCTION_POINTERS workaround had a check for GCC,
but did not exclude Clang.  Clang has a fake GCC version of 4.2, thus
caused problems.
BillyONeal and others added 30 commits January 25, 2021 18:48
Added the ability to parse and emit the NT Epoch 1601-01-01T00:00:00Z
Support for oauth2 with "client_credentials" grant type
If a project compiled with clang for macos links to CppRest, and the
-fvisibility=hidden compiler option is used, the http_exception is used
as std::exception. The clang compiler requires it to be exported in
order to know about the symbols.

Since the Visual Studio compiler throws warnings regarding the export of
a class that inherits from a non-exported class, std::exception in this
case, this export is only defined for clang.
export http_exception for non Windows builds
Co-authored-by: Charlie Barto <chbarto@microsoft.com>
Co-authored-by: Charlie Barto <chbarto@microsoft.com>
Add constructor from all integer types. Previously one was lacking for `long` which has identical conversion rank to both long long and unsigned long long.
…e14d6-8d6b-4313-b754-3880e015f7c3

Adding Microsoft SECURITY.MD
Fix likely typo in SafeInt3.hpp, that results in error with clang 15
It's better to use issues, so everyone can see the responses.
make Uri.is_host_loopback() only return true for localhost and 127.0.0.1 exactly
Update maintenance status message in README
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.