aboutsummaryrefslogtreecommitdiff
path: root/zenhttp/httpsys.cpp
Commit message (Collapse)AuthorAgeFilesLines
* fixed dashboard file serving bug (#255)Stefan Boberg2023-04-241-7/+6
| | | | | a recent change which introduced support for specifying accept: implicitly via the file extension in the URI caused fallout in the dashboard which would fail to serve any content because the extension was stripped from the RelativeUri accessor. This change fixes that by retaining a copy of the Uri string view which includes the suffix additionally, in order to test this change with both asio/http.sys paths I made the path used for all tests configurable in zenserver-test which involved pulling in a change from sb/proto which makes testing configuration a bit more flexible
* tweaks for enabling unity buildsStefan Boberg2023-04-191-0/+6
| | | | | | | | | | mostly changes to make sure anonymous namespaces don't clash and a change to avoid windows headers from leaking into other compilation units unity builds are not yet enabled by default, but can be enabled by uncommenting this line in the root `xmake.lua` ``` --add_rules("c++.unity_build") ```
* Support for HTTP range header (#245)Per Larsson2023-04-191-0/+10
| | | | | | | | | | | * Support for HTTP range header. * Implement http range for HTTP sys. * Validate range parameters. --------- Co-authored-by: Stefan Boberg <[email protected]>
* Fix httpsys async response (#237)Dan Engelbrecht2023-02-211-2/+2
| | | | * Fix HttpSysServerRequest::WriteResponseAsync to use async path base on IsAsyncResponseEnabled() flag * changelog
* Adjust errors vs warnings messages (#160)Dan Engelbrecht2022-09-081-6/+6
| | | | * demote a number of ZEN_ERROR to ZEN_WARN * changelog
* clang-format fixesStefan Boberg2022-06-101-1/+1
|
* http: fixed extension parsing logicStefan Boberg2022-06-101-1/+1
| | | | the previous version did not remove the trailing dot from the extension-less URI
* Added some diagnostics to http.sys server to make it clear when we are ↵Stefan Boberg2022-02-021-0/+4
| | | | listening to localhost only
* Handle HTTP port collisions when initializing server (#40)zousar2022-01-271-14/+41
|
* Format fix.Per Larsson2022-01-221-1/+2
|
* Converted use of _format UDL to fmt::formatMartin Ridgers2022-01-101-3/+1
|
* Merged main.Per Larsson2021-12-141-3/+3
|\
| * Merged mainMartin Ridgers2021-12-081-28/+60
| |\
| * \ Merged mainMartin Ridgers2021-11-291-75/+4
| |\ \
| * \ \ Merged mainMartin Ridgers2021-10-201-2/+10
| |\ \ \
| * \ \ \ Merged mainMartin Ridgers2021-10-151-3/+8
| |\ \ \ \
| * | | | | Fixed httpsys.cpp WideToUtf8() link errorsMartin Ridgers2021-10-131-3/+3
| | | | | |
* | | | | | Format fix.Per Larsson2021-12-091-1/+1
| |_|_|_|/ |/| | | |
* | | | | Address review feedback and fix issue when deploying.Zousar Shaker2021-11-291-1/+1
| | | | |
* | | | | Allow http.sys mode to operate in local-only mode for non-admin users.Zousar Shaker2021-11-291-28/+60
| |_|_|/ |/| | |
* | | | Fix handling of packages/offers in asio mode to match http.sys mode.Zousar Shaker2021-11-251-75/+4
| |_|/ |/| |
* | | httpsys: Added automatic translation of 200 OK -> 204 NO CONTENT for case ↵Stefan Boberg2021-10-181-2/+10
| |/ |/| | | | | where there is no body (upset some clients)
* | clang-formatStefan Boberg2021-10-151-2/+1
| |
* | asio HTTP implementation (#23)Stefan Boberg2021-10-141-3/+9
|/ | | asio-based HTTP implementation
* Added lofreq timer update to httpsys main loopStefan Boberg2021-10-111-0/+2
|
* Support for asynchronous HTTP response processing (#19)Stefan Boberg2021-10-061-52/+196
| | | | | | | | This change introduces WriteResponseAsync which can be used to move potentially slow request handler code (like upstream lookups) off the I/O service thread to ensure we are always able to serve as many HTTP requests as possible. The current implementation defaults to 16 async worker threads and there is currently no back-pressure. - Added RequestStats - Metrics for network requests. Aggregates tracking of duration, payload sizes into a single class for ease of use - Added some metrics on upstream communication Co-authored-by: Per Larsson <[email protected]>
* Merged from upstreamStefan Boberg2021-10-051-9/+14
|
* http: Moved logic for body suppression to a more central locationStefan Boberg2021-10-031-0/+5
| | | | this should prevent some mistake-induced bugs hopefully
* http: Added support for specifying response content-type by means of ↵Stefan Boberg2021-10-031-3/+34
| | | | | | suffixes (.json/.yaml etc) If a suffix is present then we'll use that instead of any Accept: header value
* http: ReasonStringForHttpResultCode returns string_view to avoid strlenStefan Boberg2021-09-281-54/+51
|
* clang-formatStefan Boberg2021-09-271-3/+3
|
* httpsys: Added HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA to response calls which ↵Stefan Boberg2021-09-271-17/+33
| | | | | | should improve overall performance (yet to be confirmed) Also added custom Server: header
* httpsys: added `if constexpr` to silence compiler warning on WindowsStefan Boberg2021-09-271-1/+1
|
* Merged latest from mainStefan Boberg2021-09-271-3/+19
|\
| * GetWindowsErrorAsString() -> GetSystemErrorAsString()Stefan Boberg2021-09-271-2/+2
| |
| * httpsys: Some logging improvementsStefan Boberg2021-09-261-1/+14
| |
| * Added some more context to http failure loggingStefan Boberg2021-09-261-1/+4
| |
* | Fixed httpsys Windows compilation errorStefan Boberg2021-09-271-1/+1
| |
* | Merge mainMartin Ridgers2021-09-221-2/+2
|\|
| * Merge branch 'main' of https://github.com/EpicGames/zenStefan Boberg2021-09-211-1/+1
| |\
| | * Clang format fix.Per Larsson2021-09-211-1/+1
| | |
| * | Added human-friendly formatting of response send errorsStefan Boberg2021-09-211-1/+1
| |/
* | Merged main into linux-macMartin Ridgers2021-09-211-18/+18
|\|
| * Improved error handling in http.sys handlerStefan Boberg2021-09-201-7/+6
| | | | | | | | Alsod fixed lifetime issue with initial request
| * clang-format againStefan Boberg2021-09-191-1/+1
| |
| * zenserver can now run as a Windows service. We'll still need to improve how ↵Stefan Boberg2021-09-171-11/+12
| | | | | | | | data files are found as the current defaults are relative to the user directory which ends up being in the Windows folder when running as the local system user
* | Merge main into linux-macMartin Ridgers2021-09-161-2/+1
|\|
| * Improved package serialization to allow round trippingStefan Boberg2021-09-161-2/+1
| |
* | Merge from mainMartin Ridgers2021-09-161-12/+18
|\|
| * Added some more trace-level loggingStefan Boberg2021-09-151-1/+7
| |