Commit Graph

139 Commits

Author SHA1 Message Date
Paul Gofman 482a8b7de7 winhttp: Use default thread pool.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-16 21:16:21 +01:00
Paul Gofman 88334e1c18 winhttp: Manage task cleanup in task_callback() and queue_task().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-16 21:16:21 +01:00
Paul Gofman d8a358033f winhttp: Use a single thread pool wrapper callback for async tasks.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-16 21:16:21 +01:00
Paul Gofman 0fc08a974f winhttp: Support receiving web socket buffer fragments.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 21:31:56 +01:00
Paul Gofman 003391dec8 winhttp: Support sending web socket buffer fragments.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 21:31:56 +01:00
Paul Gofman 11c835d471 winhttp: Don't allow websocket send if another non-control send is pending.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 21:31:56 +01:00
Paul Gofman 6d7d92269a winhttp: Use lock when attempting to send frame synchronously().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 10:48:38 +01:00
Paul Gofman 71ee671b65 winhttp: Allow synchronous nonblocking send in send_socket_shutdown().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Paul Gofman 9861b6796f winhttp: Attemp sync websocket send even if data doesn't fit frame buffer.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Paul Gofman a0e5fcdc00 winhttp: Attemp sync websocket send even if data doesn't fit SSL buffer.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Paul Gofman 2a812a5645 winhttp: Count queued websocket receive operations.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Paul Gofman de9a7e6540 winhttp: Process server close frame in handle_control_frame().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman f6ce4e23fa winhttp: Use send_socket_shutdown() in WinHttpWebSocketClose().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman 9ef1e44914 winhttp: Allow synchronous nonblocking send in WinHttpWebSocketSend() when possible.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Paul Gofman ad5d011f58 winhttp: Count queued websocket send operations.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Paul Gofman 70ada6d189 winhttp: Use a buffer for sending frame in send_frame().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:31 +01:00
Paul Gofman 25bd67465d winhttp: Use separate SSL read and write buffers.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:29 +01:00
Paul Gofman 34fea20cd3 winhttp: Limit recursion for synchronous callback calls.
Fixes a regression in Hitman 2, Death Stranding introduced
by commit be5acd1c07.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 11:43:54 +02:00
Hans Leidekker 4f961d9e7a winhttp: Use CRT memory allocators.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-08 22:28:44 +02:00
Owen Rudge 5042687d01 winhttp: Implement WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS.
Signed-off-by: Owen Rudge <orudge@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-03 19:44:15 +02:00
Hans Leidekker 97f9dc7ff4 winhttp: Stop the send queue before sending the close message.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Hans Leidekker 7b7fdb8585 winhttp: Copy the reason buffer.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Hans Leidekker c7d140d34a winhttp: Reimplement the task queue using thread pool work objects.
Simplifies cleanup.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Hans Leidekker 6d564bd53e winhttp: Add support for WebSocket fragment buffers.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:34:15 +02:00
Hans Leidekker 61ea74b457 winhttp: Implement WinHttpWebSocketClose.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:34:15 +02:00
Hans Leidekker da0515c165 winhttp: Implement WinHttpWebSocketShutdown.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:34:15 +02:00
Hans Leidekker f18cbfcd5d winhttp: Implement WinHttpWebSocketReceive.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:34:15 +02:00
Hans Leidekker 68b44e3055 winhttp: Implement WinHttpWebSocketSend.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-24 18:34:15 +02:00
Hans Leidekker 6a98d5f524 winhttp: Make the task queue implementation more generic.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 10:09:59 +02:00
Hans Leidekker 9336651477 winhttp: Don't close child handles on release.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 10:09:52 +02:00
Hans Leidekker 0b48050da5 winhttp: Implement WinHttpWebSocketCompleteUpgrade.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:27:24 +02:00
Hans Leidekker 080dfbee31 winhttp: Explicitly pass errors.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:49 +02:00
Hans Leidekker 5bf055a62d winhttp: Use wide character string literals.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-22 18:02:17 +01:00
Hans Leidekker e3057aea62 winhttp: Build with msvcrt.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Hans Leidekker 5a212dff7d winhttp: Pass correct buffer size to WideCharToMultiByte.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Hans Leidekker d6a80a4833 winhttp: Handle Passport redirects.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 16:57:52 +02:00
Hans Leidekker c68b5eb850 winhttp: Implement WINHTTP_OPTION_CLIENT_CERT_CONTEXT.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 17:12:13 +01:00
Hans Leidekker 2f75297036 winhttp: Store Accept headers like the other headers.
Based on a patch by Sebastian Lackner.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:27:06 +01:00
Hans Leidekker bdfa9d8221 winhttp: Use the thread pool for asynchronous tasks.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 12:52:41 +01:00
Hans Leidekker 3fb5d2f98d winhttp: Get rid of get/set_last_error.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:58 +01:00
Hans Leidekker ce9ad42056 winhttp: Get rid of request_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:58 +01:00
Hans Leidekker 4607d5ba59 winhttp: Get rid of netconn_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:58 +01:00
Hans Leidekker dad2439d01 winhttp: Get rid of connect_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:58 +01:00
Hans Leidekker a1cee8920a winhttp: Get rid of session_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-22 23:55:58 +01:00
Hans Leidekker a6edca34b5 winhttp: Get rid of hostdata_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 13:42:15 +01:00
Hans Leidekker eb78033a22 winhttp: Get rid of object_header_t and object_vtbl_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 13:42:13 +01:00
Hans Leidekker cf22c2c16c winhttp: Get rid of write_data_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 13:42:11 +01:00
Hans Leidekker 6fb0c79022 winhttp: Get rid of read_data_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 13:42:09 +01:00
Hans Leidekker 41c72bff6f winhttp: Get rid of query_data_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 13:42:07 +01:00
Hans Leidekker 690046e3d2 winhttp: Get rid of receive_response_t.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 13:42:05 +01:00