NSURLSession rewrite (#422)

* clang-format: Do not use tabs

* Ignore clangd cache and compile_commands

* NSBlockOperation: Fix memory leak

* NSHTTPCookie: Fix expires date parsing

* NSHTTPCookie: Release DateFormatter after use

* NSOperation: Remove all objects at end of execution

* Reimplementation of NSURLSession

* NSURLSession: Update expiration dates in test

* Update ChangeLog

* Fix trivial compiler warning caused by missing import

* Import GSDispatch.h for definition of DISPATCH_QUEUE_SERIAL

* Import common.h early to avoid header conflict

* Fix import order to avoid conflicts and ensure we have correct localisation macro

* Check for presence of dispatch_cancel

* Cancel timer using dispatch_source_cancel() if dispatch_cancel() is missing.

* NSURLSession: Replace dispatch_io with dispatch_source in unit test HTTP server

---------

Co-authored-by: hmelder <service@hugomelder.com>
This commit is contained in:
rfm 2024-08-16 13:08:41 +01:00 committed by GitHub
parent 9b92c2d593
commit ed4e305026
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
53 changed files with 5410 additions and 7178 deletions

View file

@ -271,6 +271,16 @@ GS_EXPORT_CLASS
*/
- (NSString *) valueForHTTPHeaderField: (NSString *)field;
#if OS_API_VERSION(MAC_OS_VERSION_11_0, GS_API_LATEST)
/**
* Indicates whether the URL loading system assumes the host is HTTP/3 capable.
*
* This method returns the current assumption of the URL loading system regarding
* the server's HTTP capabilities.
*/
- (BOOL) assumesHTTP3Capable;
#endif
@end
@ -327,6 +337,17 @@ GS_EXPORT_CLASS
*/
- (void) setValue: (NSString *)value forHTTPHeaderField: (NSString *)field;
#if OS_API_VERSION(MAC_OS_VERSION_11_0, GS_API_LATEST)
/**
* Sets whether the URL loading system should assume the host is HTTP/3 capable.
*
* This method configures the URL loading system's assumptions about the
* server's HTTP capabilities, optimizing the connection process if HTTP/3 is
* supported.
*/
- (void) setAssumesHTTP3Capable: (BOOL)capable;
#endif
@end
@protocol GSLogDelegate;