ObjFW  History of src/OFHTTPClient.h of f5558d09197ccc7f

History of the file that is called src/OFHTTPClient.h at check-in f5558d09197ccc7f

2024-04-03
02:16
[357ba5ad47] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 8591) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[0e950c9026] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 8383) [annotate] [blame] [check-ins using] [diff]
2023-07-22
11:24
[0bca7b11fb] part of check-in [400199f299] OFHTTPClient: Minor documentation improvement (check-in: [400199f299] user: js, branch: trunk, size: 8383) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[67bbe697a1] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 8338) [annotate] [blame] [check-ins using] [diff]
2022-12-27
13:58
[3625e60bd3] part of check-in [29a41e5a78] Rename OFAlready{Connected -> Open}Exception (check-in: [29a41e5a78] user: js, branch: trunk, size: 8338) [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
[03e878758b] part of check-in [23272e6d43] Rename OFURI to OFIRI (check-in: [23272e6d43] user: js, branch: trunk, size: 8358) [annotate] [blame] [check-ins using] [diff]
2022-09-28
22:05
[d5da950339] part of check-in [4b1045c2d1] OFHTTPClientDelegate: Improve a method name (check-in: [4b1045c2d1] user: js, branch: trunk, size: 8358) [annotate] [blame] [check-ins using] [diff]
21:40
[cad337925c] part of check-in [e7ab06503c] Rename OFUR{L -> I} in preparation for URI support (check-in: [e7ab06503c] user: js, branch: trunk, size: 8354) [annotate] [blame] [check-ins using] [diff]
2022-09-25
15:39
[d00f0b1c33] part of check-in [7ab0c2561a] Document more exceptions (check-in: [7ab0c2561a] user: js, branch: trunk, size: 8354) [annotate] [blame] [check-ins using] [diff]
2022-09-12
08:52
[ce9ecefc1d] part of check-in [1038191a03] Restrict subclassing on more classes (check-in: [1038191a03] user: js, branch: trunk, size: 7558) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[4532ba7b26] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 7557) [annotate] [blame] [check-ins using] [diff]
2021-11-13
13:04
[dfdc56fd61] part of check-in [d30efa8bbf] Completely rework the TLS/SSL API

The previous API could never work cleanly and would always require
hacks, as it needed intercepting all interactions of OFTCPSocket with
the raw socket and did not work at all if the OFTCPSocket had anything
in its read buffer before starting the TLS handshake. This also could
not be fixed easily, as it would have required the object to contain two
read buffers, one for the unencrypted connection and one for the
encrypted connection. There was also no clean way to perform the
handshake in a non-blocking way.

The new API is a lot cleaner and requires none of the hacks, but using
it requires slightly more work. But this is more than made up for by
making a fully asynchronous handshake possible. It uses the concept of a
stream wrapping another stream, meaning the entire connecting part is
being handled by OFTCPSocket and then the connected socket is passed off
to OFTLSStream to wrap it. This also makes for a lot cleaner separation
of concerns. (check-in: [d30efa8bbf] user: js, branch: trunk, size: 7557) [annotate] [blame] [check-ins using] [diff]

2021-01-02
22:04
[e81e6f28b9] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 7163) [annotate] [blame] [check-ins using] [diff]
2020-10-31
19:16
[428c441451] part of check-in [7f102e8c95] OFHTTPClient: Remove didFailWithException

Instead, add an exception to didPerformRequest, to make it more
consistent with other places. (check-in: [7f102e8c95] user: js, branch: trunk, size: 7252) [annotate] [blame] [check-ins using] [diff]

2020-10-10
10:58
[2c21807c55] part of check-in [6e42ee482f] Make HTTP status code consistently a short

It used to be a short in some places and an int in other places. (check-in: [6e42ee482f] user: js, branch: trunk, size: 7561) [annotate] [blame] [check-ins using] [diff]

2020-10-03
11:35
[f4b177457f] part of check-in [163a4a5a2e] Use /** */ instead of /*! */ for documentation (check-in: [163a4a5a2e] user: js, branch: trunk, size: 7557) [annotate] [blame] [check-ins using] [diff]
2020-05-06
00:32
[a28aee5e52] part of check-in [bc67e98833] Improve names of several properties (check-in: [bc67e98833] user: js, branch: trunk, size: 7557) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[1c7acee4b8] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 7552) [annotate] [blame] [check-ins using] [diff]
2019-09-29
19:35
[e516a827e2] part of check-in [496695d778] Either restrict subclassing or reserve ivar space

This allows ABI stability with the fragile ABI. (check-in: [496695d778] user: js, branch: trunk, size: 7549) [annotate] [blame] [check-ins using] [diff]

2019-03-08
00:35
[ec1691a772] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 7523) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[37c93537fa] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 7534) [annotate] [blame] [check-ins using] [diff]
2018-12-21
21:39
[793c0b92a1] part of check-in [eaf458c1e6] Remove context from OFHTTPClientDelegate

It was not very useful as for any OFHTTPClient there can only be one
active request. (check-in: [eaf458c1e6] user: js, branch: trunk, size: 7528) [annotate] [blame] [check-ins using] [diff]

2018-02-27
20:36
[488f1f88e1] part of check-in [d375061886] OFHTTP{Client,Server}: Rename body to requestBody

This makes it more clear that this has nothing to do with the body of
the response, as the body of the response is read from the
OFHTTPResponse itself. (check-in: [d375061886] user: js, branch: trunk, size: 9756) [annotate] [blame] [check-ins using] [diff]

2018-02-25
15:48
[baab318aa5] part of check-in [f80b0d270c] OFHTTPClient: Reintroduce -[performRequest:]

This uses -[asyncPerformRequest:redirects:context:] under the hood and
runs a runloop until it finished. (check-in: [f80b0d270c] user: js, branch: trunk, size: 9715) [annotate] [blame] [check-ins using] [diff]

2018-02-18
00:20
[e93ee6e64d] part of check-in [8681bba25e] OFHTTPClient: Add a callback for the request body

This is in preparation for removing the body from OFHTTPRequest.
Having it as OFData that is part of the OFHTTPRequest was a bad idea, as
it does not allow streaming. (check-in: [8681bba25e] user: js, branch: trunk, size: 7417) [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
[637136b15a] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 6850) [annotate] [blame] [check-ins using] [diff]
2017-11-18
18:50
[ee9dc77896] part of check-in [cc3ad3ddd3] Documentation: Use @brief for all properties (check-in: [cc3ad3ddd3] user: js, branch: trunk, size: 6827) [annotate] [blame] [check-ins using] [diff]
2017-09-26
22:01
[cd3656efe4] part of check-in [319709fff1] Many nullability fixes (check-in: [319709fff1] user: js, branch: 0.90, size: 5164) [annotate] [blame] [check-ins using] [diff]
21:53
[414d2558e4] part of check-in [52011fbfd6] Many nullability fixes (check-in: [52011fbfd6] user: js, branch: trunk, size: 6813) [annotate] [blame] [check-ins using] [diff]
2017-09-25
00:02
[c9323a5119] part of check-in [c35ba05bbc] OFHTTPClient: Add support for passing a context (check-in: [c35ba05bbc] user: js, branch: trunk, size: 6773) [annotate] [blame] [check-ins using] [diff]
2017-09-24
21:00
[e0785471fb] part of check-in [0319fe1eb9] OFHTTPClient: Rename to -[asyncPerformRequest:]

This makes it clear that the request is handled asynchronously and makes
it possible to reintroduce a synchronous version later. (check-in: [0319fe1eb9] user: js, branch: trunk, size: 5876) [annotate] [blame] [check-ins using] [diff]

11:24
[cce5af40ca] part of check-in [f8498bb114] Change type for async exceptions to id (check-in: [f8498bb114] user: js, branch: trunk, size: 5868) [annotate] [blame] [check-ins using] [diff]
02:11
[c2310631fb] part of check-in [9f1accca4e] OFObject: Add -[performSelector*] with 3 objects (check-in: [9f1accca4e] user: js, branch: trunk, size: 5888) [annotate] [blame] [check-ins using] [diff]
00:59
[daaaeddb63] part of check-in [56a18442e2] Make OFHTTPClient asynchronous

This does not make OFHTTPClientResponse completely asynchronous yet.

Since -[initWithURL:] does not work well with an asynchronous API, it no
longer supports HTTP URLs. However, a new, asynchronous API will be
added as a replacement later on. (check-in: [56a18442e2] user: js, branch: trunk, size: 5874) [annotate] [blame] [check-ins using] [diff]

2017-09-23
19:02
[b02049e5b7] part of check-in [d3d4d34dad] OFHTTPClient: Add request performed callback

This is in preparation for making OFHTTPClient asynchronous. (check-in: [d3d4d34dad] user: js, branch: trunk, size: 5523) [annotate] [blame] [check-ins using] [diff]

2017-08-14
13:33
[45c3b5270f] part of check-in [4eab54022e] Always have assign before nonatomic (check-in: [4eab54022e] user: js, branch: trunk, size: 5124) [annotate] [blame] [check-ins using] [diff]
2017-07-22
20:50
[a366523288] part of check-in [c8f7b90082] Split OFDataArray into OFData and OFMutableData (check-in: [c8f7b90082] user: js, branch: trunk, size: 5124) [annotate] [blame] [check-ins using] [diff]
2017-05-27
08:56
[b76c7b05e7] part of check-in [8896ef883e] +[OFHTTPCookie requestHeaderFieldsWithCookies:]

Also renames +[OFHTTPCookie cookiesFromHeaders:forURL:] to
+[OFHTTPCookie cookiesWithResponseHeaderFields:forURL:] to differentiate
between request and response header fields. (check-in: [8896ef883e] user: js, branch: trunk, size: 5144) [annotate] [blame] [check-ins using] [diff]

2017-05-13
16:29
[7523e2d4b7] part of check-in [f663d40cbd] Also use nonatomic for non-object properties (check-in: [f663d40cbd] user: js, branch: trunk, size: 4880) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[8fd8945807] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 4853) [annotate] [blame] [check-ins using] [diff]

2017-01-29
19:08
[08ff8ce82a] part of check-in [d040a0989d] ofhttp: Add --insecure flag to ignore TLS errors (check-in: [d040a0989d] user: js, branch: trunk, size: 4836) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[ba8c9a7683] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 4825) [annotate] [blame] [check-ins using] [diff]

2016-08-21
14:09
[bb02a1b9bf] part of check-in [a509ab7e91] OFHTTPClient: Add response to redirect delegate

This allows ofhttp to display all headers for the redirect in verbose
mode (the change for this is included). (check-in: [a509ab7e91] user: js, branch: trunk, size: 4819) [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
[9fc7a1edbb] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 5468) [annotate] [blame] [check-ins using] [diff]

00:41
[c62fbae14a] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 4720) [annotate] [blame] [check-ins using] [diff]

2015-11-29
14:20
[b45a098c16] part of check-in [ba62f00fac] Clean up optional protocols

Now that we can require GCC >= 4.6, we no longer need to have a category
on OFObject that adds the optional protocol to it. (check-in: [ba62f00fac] user: js, branch: trunk, size: 4716) [annotate] [blame] [check-ins using] [diff]

11:43
[ed0609a453] part of check-in [48980f2297] Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). (check-in: [48980f2297] user: js, branch: trunk, size: 4829) [annotate] [blame] [check-ins using] [diff]

2015-06-17
22:11
[1d478e9a98] part of check-in [80e1a9655b] Add OF_NULLABLE_PROPERTY

This is necessary to make GCC (>= 4.6 and Apple GCC) happy as they don't
like the list of property attributes ending in a comma. (check-in: [80e1a9655b] user: js, branch: trunk, size: 5464) [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
[74c3496cfd] part of check-in [9e76144ef8] Add support for and use the new nullability (check-in: [9e76144ef8] user: js, branch: trunk, size: 5453) [annotate] [blame] [check-ins using] [diff]
2015-06-12
23:59
[65cccf1fb8] part of check-in [5329fe7c1a] Add support for and use the new ObjC generics (check-in: [5329fe7c1a] user: js, branch: trunk, size: 5377) [annotate] [blame] [check-ins using] [diff]
2015-05-20
22:26
[aa446e953e] part of check-in [a8184e90ae] OFHTTPClient: Correctly handle keep-alive for HEAD (check-in: [a8184e90ae] user: js, branch: trunk, size: 5312) [annotate] [blame] [check-ins using] [diff]
2015-04-26
12:45
[95e9e3b5c5] part of check-in [05a0a6f65c] utils/ofhttp: Print redirects in non-quiet mode (check-in: [05a0a6f65c] user: js, branch: trunk, size: 5292) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[ef2286c80d] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 5288) [annotate] [blame] [check-ins using] [diff]
2014-02-18
18:50
[edd0288715] part of check-in [246cfe0807] Documentation: Show correct imports (check-in: [246cfe0807] user: js, branch: trunk, size: 5282) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[eeab9ddcde] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 5147) [annotate] [blame] [check-ins using] [diff]
2013-09-30
16:11
[f17362c62b] part of check-in [6bd37697f2] OFHTTPClient: Status in delegate for redirection. (check-in: [6bd37697f2] user: js, branch: trunk, size: 5141) [annotate] [blame] [check-ins using] [diff]
2013-07-29
19:43
[f3d93005f7] part of check-in [36d0b1e2d8] Rename OFHTTPRequestReply to OFHTTPResponse. (check-in: [36d0b1e2d8] user: js, branch: trunk, size: 5051) [annotate] [blame] [check-ins using] [diff]
2013-04-26
19:42
[630572f8e2] part of check-in [590c377d8a] Make it possible to disable sockets. (check-in: [590c377d8a] user: js, branch: trunk, size: 4984) [annotate] [blame] [check-ins using] [diff]
2013-03-15
17:04
[838f77c97e] part of check-in [c195c1f098] OFHTTPClient: Implement "Connection: keep-alive". (check-in: [c195c1f098] user: js, branch: trunk, size: 4922) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[157d08fbae] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 4756) [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
[97e24a8655] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 4756) [annotate] [blame] [check-ins using] [diff]
2013-01-26
00:13
[19781d2abd] part of check-in [bdf9c4d96b] Make OFHTTPRequestReply a stream.

This also implements chunked transfer encoding for OFHTTPServer and adds
a property for the protocol version to OFHTTPRequest(Reply).

Additionally, this makes it possible to add an async version of
OFHTTPClient. (check-in: [bdf9c4d96b] user: js, branch: trunk, size: 4754) [annotate] [blame] [check-ins using] [diff]

2013-01-10
22:52
[aa40337e14] part of check-in [365d74aa27] Fix all Doxygen warnings. (check-in: [365d74aa27] user: js, branch: trunk, size: 5769) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[4ef6dc4356] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 5718) [annotate] [blame] [check-ins using] [diff]
2012-12-26
20:55
[ab52e94768] part of check-in [75f187cef5] OFHTTPRequestResult -> OFHTTPRequestReply.

The class also has its own file now. (check-in: [75f187cef5] user: js, branch: trunk, size: 5712) [annotate] [blame] [check-ins using] [diff]

2012-12-20
16:42
[f80794c7b1] part of check-in [89177dcd09] Remove dummy implementations for formal protocols. (check-in: [89177dcd09] user: js, branch: trunk, size: 5720) [annotate] [blame] [check-ins using] [diff]
2012-12-13
20:53
[0ec84f966d] part of check-in [1abe5a111f] Add of_tls_socket_class for 3rd-party TLS libs.

This removes of_http_client_tls_socket_class in favor of having one
symbol for all places where TLS would be desired. (check-in: [1abe5a111f] user: js, branch: trunk, size: 5789) [annotate] [blame] [check-ins using] [diff]

2012-12-09
12:13
Added: [c649e6c2e2] part of check-in [2b7a70e246] Split OFHTTPRequest into OFHTTP{Client,Request}. (check-in: [2b7a70e246] user: js, branch: trunk, size: 5836) [annotate] [blame] [check-ins using]