ObjFW  History of utils/ofhttp/OFHTTP.m of d9f6da2eab8b0306

History of the file that is called utils/ofhttp/OFHTTP.m at check-in d9f6da2eab8b0306

2024-04-09
19:59
[530fc4ed76] part of check-in [9c9dc239ba] ofhttp: Don't limit setting xattr to Linux (check-in: [9c9dc239ba] user: js, branch: trunk, size: 32045) [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
[773e6afc2d] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 32009) [annotate] [blame] [check-ins using] [diff]
2024-02-03
11:41
[e4695aa030] part of check-in [7324ec8590] Update copyright (check-in: [7324ec8590] user: js, branch: 1.0, size: 31799) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:26
[bf9f7e1c82] part of check-in [21823c0d56] utils: Indicate options with an argument with = (check-in: [21823c0d56] user: js, branch: trunk, size: 31801) [annotate] [blame] [check-ins using] [diff]
17:17
[2625323d66] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 31801) [annotate] [blame] [check-ins using] [diff]
2023-10-15
14:55
[336f94ad28] part of check-in [12c09ef41e] Add OFHTTPRequestMethodString()

This deprecates OFHTTPRequestMethodName(), which returns a C string.
APIs should avoid C strings as much as possible.

This function was initially only used internally, where this was fine.
However, when it was made public, it should have been converted to
OFString at the same time.

Adds OFHTTPRequestMethodParseString() for consistency, which behaves the
same as OFHTTPRequestMethodParseName() and deprecates it. (check-in: [12c09ef41e] user: js, branch: trunk, size: 31801) [annotate] [blame] [check-ins using] [diff]

2023-10-08
08:18
[d2650dbe5b] part of check-in [c626b708a4] utils: Minor style fix (check-in: [c626b708a4] user: js, branch: trunk, size: 31799) [annotate] [blame] [check-ins using] [diff]
08:03
[872ae0262a] part of check-in [b21bacd5fd] ofhttp: Fix missing comma that caused a crash (check-in: [b21bacd5fd] user: js, branch: trunk, size: 31796) [annotate] [blame] [check-ins using] [diff]
2023-08-26
15:30
[02af79d7f6] part of check-in [a45da5cb30] ofhttp: Prevent empty file name (check-in: [a45da5cb30] user: js, branch: trunk, size: 31795) [annotate] [blame] [check-ins using] [diff]
10:44
[32c3b36a14] part of check-in [579dd0a7ee] ofhttp: Add error message for failed TLS handshake (check-in: [579dd0a7ee] user: js, branch: trunk, size: 31763) [annotate] [blame] [check-ins using] [diff]
2023-04-11
18:42
[22d5583cf6] part of check-in [bb4026082a] utils: Fix %c instead of %C for short options (check-in: [bb4026082a] user: js, branch: trunk, size: 31169) [annotate] [blame] [check-ins using] [diff]
2023-01-28
20:27
[1fcffa7dee] part of check-in [ad148c821a] ofhttp: Set user.ofhttp.downloaded_from xattr (check-in: [ad148c821a] user: js, branch: trunk, size: 31169) [annotate] [blame] [check-ins using] [diff]
2023-01-23
23:19
[f89a26cb27] part of check-in [a4ac11954b] ofhttp: Set com.apple.quarantine on macOS (check-in: [a4ac11954b] user: js, branch: trunk, size: 30650) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[52c1f1f14b] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 30085) [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
[e73ed438ad] part of check-in [23272e6d43] Rename OFURI to OFIRI (check-in: [23272e6d43] user: js, branch: trunk, size: 30085) [annotate] [blame] [check-ins using] [diff]
2022-11-23
21:39
[05abbe7837] part of check-in [88ed5be671] Use a URI for the localization directory

This theoretically allows embedding localizations. While this isn't
great as all will be held in memory but only one will be used, there
might be cases where everything should be in one binary. (check-in: [88ed5be671] user: js, branch: trunk, size: 30085) [annotate] [blame] [check-ins using] [diff]

2022-11-13
19:07
[4bdf3b8ffc] part of check-in [204b27318f] Add OFApplicationDidFinishLaunchingNotification (check-in: [204b27318f] user: js, branch: trunk, size: 30024) [annotate] [blame] [check-ins using] [diff]
18:46
[f34323cefa] part of check-in [50a345a4f5] utils/ofhttp: Fix signedness mismatch (check-in: [50a345a4f5] user: js, branch: trunk, size: 29992) [annotate] [blame] [check-ins using] [diff]
2022-10-22
16:50
[36f1e9db6a] part of check-in [43b57ece47] Rename OFConnect{ion -> Socket}FailedException (check-in: [43b57ece47] user: js, branch: trunk, size: 29992) [annotate] [blame] [check-ins using] [diff]
2022-09-29
20:27
[2267fb0c48] part of check-in [915bfc7431] OFLocale: Rename a few methods (check-in: [915bfc7431] user: js, branch: trunk, size: 29986) [annotate] [blame] [check-ins using] [diff]
2022-09-28
22:05
[84e58d6177] part of check-in [4b1045c2d1] OFHTTPClientDelegate: Improve a method name (check-in: [4b1045c2d1] user: js, branch: trunk, size: 29961) [annotate] [blame] [check-ins using] [diff]
21:40
[d8707f71b6] part of check-in [e7ab06503c] Rename OFUR{L -> I} in preparation for URI support (check-in: [e7ab06503c] user: js, branch: trunk, size: 29957) [annotate] [blame] [check-ins using] [diff]
2022-09-25
14:00
[0c6715c4db] part of check-in [78032c89cb] OF{Retrieve -> Get}ItemAttributesFailedException (check-in: [78032c89cb] user: js, branch: trunk, size: 29957) [annotate] [blame] [check-ins using] [diff]
2022-09-23
14:01
[dd51d26874] part of check-in [60ebc06824] Rename OFInvalidServer{Reply -> Response}Exception (check-in: [60ebc06824] user: js, branch: trunk, size: 29972) [annotate] [blame] [check-ins using] [diff]
2022-07-14
15:15
[aa1d962c4e] part of check-in [0c7c78f397] utils/ofhttp: Improve Unicode detection on Windows (check-in: [0c7c78f397] user: js, branch: trunk, size: 29960) [annotate] [blame] [check-ins using] [diff]
2022-06-06
09:46
[6f883db433] part of check-in [834e43651c] utils/ofhttp: Work around GCC bug (check-in: [834e43651c] user: js, branch: trunk, size: 29886) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[622c13a414] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 29813) [annotate] [blame] [check-ins using] [diff]
2021-11-20
13:18
[1e6fb1a87b] part of check-in [8f8af474fc] Move TLS implementations to a separate library

These implementations all depend on additional libraries that are
otherwise not needed for an ObjFW application that does not use TLS,
meaning they would add unnecessary dependencies for a lot of
applications and waste memory. (check-in: [8f8af474fc] user: js, branch: trunk, size: 29813) [annotate] [blame] [check-ins using] [diff]

2021-11-13
13:04
[6bac196b77] 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: 29663) [annotate] [blame] [check-ins using] [diff]

2021-11-06
00:10
[2fe08b11b5] part of check-in [34cb121dc5] Make OFTLSSocket an abstract class

This should make it easier to add TLS support using various
implementations. (check-in: [34cb121dc5] user: js, branch: trunk, size: 29920) [annotate] [blame] [check-ins using] [diff]

2021-05-02
11:59
[cd70aeb710] part of check-in [5a087b5409] ofhttp: Fix typo (check-in: [5a087b5409] user: js, branch: trunk, size: 29949) [annotate] [blame] [check-ins using] [diff]
2021-04-25
20:12
[758155ce18] part of check-in [1c5fb04713] Merge trunk into branch "sandbox" (check-in: [1c5fb04713] user: js, branch: sandbox, size: 29942) [annotate] [blame] [check-ins using] [diff]
19:58
[c136ae289f] part of check-in [6ae98c1dcf] Last round of renames (hopefully) (check-in: [6ae98c1dcf] user: js, branch: trunk, size: 29948) [annotate] [blame] [check-ins using] [diff]
2021-04-19
22:20
[8591ab818f] part of check-in [e97b03815f] Rename all remaining enums (check-in: [e97b03815f] user: js, branch: new-naming-convention, size: 29948) [annotate] [blame] [check-ins using] [diff]
21:54
[fd5b97783f] part of check-in [458420998c] Rename a few more constants (check-in: [458420998c] user: js, branch: new-naming-convention, size: 29870) [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
[fa0717c415] part of check-in [e73c65a849] Rename all symbols marked extern (check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 29759) [annotate] [blame] [check-ins using] [diff]
2021-04-17
22:45
[b78631e300] part of check-in [498074dab9] Rename of_(re)alloc and add OFFreeMemory (check-in: [498074dab9] user: js, branch: new-naming-convention, size: 29801) [annotate] [blame] [check-ins using] [diff]
14:33
[83d4f96412] part of check-in [83d8f3e5f6] Rename of_http_* (check-in: [83d8f3e5f6] user: js, branch: new-naming-convention, size: 29796) [annotate] [blame] [check-ins using] [diff]
14:24
[88b7d0694f] part of check-in [cedc0cb75e] of_plugin_handle_t -> OFPluginHandle (check-in: [cedc0cb75e] user: js, branch: new-naming-convention, size: 29833) [annotate] [blame] [check-ins using] [diff]
05:22
[b36faae7ff] part of check-in [91daa42649] Rename of_options_parser_option_t (check-in: [91daa42649] user: js, branch: new-naming-convention, size: 29834) [annotate] [blame] [check-ins using] [diff]
02:25
[ed48a4cbd1] part of check-in [169692a120] Rename remaining enums in OFString.h (check-in: [169692a120] user: js, branch: new-naming-convention, size: 29839) [annotate] [blame] [check-ins using] [diff]
02:10
[9ae5740c07] part of check-in [255f21fb3d] of_string_encoding_t -> OFStringEncoding (check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 29842) [annotate] [blame] [check-ins using] [diff]
01:32
[64964c284b] part of check-in [2d3790870d] of_unichar_t -> OFUnichar (check-in: [2d3790870d] user: js, branch: new-naming-convention, size: 29846) [annotate] [blame] [check-ins using] [diff]
01:24
[ecc61cd90c] part of check-in [83dc0fe6e5] OF_NOT_FOUND -> OFNotFound (check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 29849) [annotate] [blame] [check-ins using] [diff]
2021-04-07
21:18
[f445945689] part of check-in [36669d22b4] Merge trunk into 1.0 branch (check-in: [36669d22b4] user: js, branch: 1.0, size: 29853) [annotate] [blame] [check-ins using] [diff]
2021-04-05
21:31
[3e09fbe274] part of check-in [e37212ea80] ofhttp: Fix finding ObjOpenSSL opportunistically (check-in: [e37212ea80] user: js, branch: trunk, size: 29847) [annotate] [blame] [check-ins using] [diff]
2021-03-30
21:23
[596ef6416d] part of check-in [564d6d6b6f] Merge trunk into 1.0 branch (check-in: [564d6d6b6f] user: js, branch: 1.0, size: 29829) [annotate] [blame] [check-ins using] [diff]
2021-03-14
18:55
[1db0eb477d] part of check-in [7b2c6a3873] ofhttp: Use "unnamed" if output name is nil or / (check-in: [7b2c6a3873] user: js, branch: trunk, size: 29823) [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
[3f5985320f] part of check-in [1b82d3bf4f] *.m: Fold methods into one line where it fits (check-in: [1b82d3bf4f] user: js, branch: trunk, size: 29658) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[9525086526] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 29741) [annotate] [blame] [check-ins using] [diff]
2020-12-22
20:19
[febf489eba] part of check-in [62edb405b9] Merge trunk into 1.0 branch (check-in: [62edb405b9] user: js, branch: 1.0, size: 29836) [annotate] [blame] [check-ins using] [diff]
13:16
[8920dc599a] part of check-in [510628432f] Make OFSandbox private

It is unclear whether the same API can be applied to other sandboxing
frameworks. (check-in: [510628432f] user: js, branch: 1.0, size: 29395) [annotate] [blame] [check-ins using] [diff]

2020-12-19
21:52
[b323b730e9] part of check-in [7da1f47ece] ofhttp: Support for non-Unicode console output (check-in: [7da1f47ece] user: js, branch: trunk, size: 29830) [annotate] [blame] [check-ins using] [diff]
2020-12-15
19:16
[089353e353] part of check-in [1e07e91324] ofhttp: Avoid passing nil to OF_LOCALIZED (check-in: [1e07e91324] user: js, branch: trunk, size: 29389) [annotate] [blame] [check-ins using] [diff]
2020-11-14
12:23
[0d0e8ff125] part of check-in [627511b032] Rename of_malloc and of_calloc

The new names should be more accurate. (check-in: [627511b032] user: js, branch: trunk, size: 29352) [annotate] [blame] [check-ins using] [diff]

2020-11-05
02:27
[121d87bdd5] part of check-in [da1fb6b21c] Further reduce usage of -[allocMemoryWithSize:] (check-in: [da1fb6b21c] user: js, branch: trunk, size: 29353) [annotate] [blame] [check-ins using] [diff]
2020-11-01
11:35
[c172d83732] part of check-in [4bbac7ab17] OFString: Add -[substring{From,To}Index:] (check-in: [4bbac7ab17] user: js, branch: trunk, size: 29367) [annotate] [blame] [check-ins using] [diff]
2020-10-31
19:16
[1aec658c7f] 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: 29488) [annotate] [blame] [check-ins using] [diff]

2020-10-10
11:09
[24d165719e] part of check-in [3162555b75] ofhttp: Add --ignore-status option (check-in: [3162555b75] user: js, branch: trunk, size: 29319) [annotate] [blame] [check-ins using] [diff]
10:58
[20466a8b30] 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: 29006) [annotate] [blame] [check-ins using] [diff]

2020-09-27
02:12
[cd147444d1] part of check-in [431116c906] ofhttp: Fix compiling with Apple GCC 4.2.1 (check-in: [431116c906] user: js, branch: trunk, size: 29000) [annotate] [blame] [check-ins using] [diff]
2020-08-29
23:17
[d4c7821db4] part of check-in [f79f04f882] ofhttp: Translate "Error!" message (check-in: [f79f04f882] user: js, branch: trunk, size: 28980) [annotate] [blame] [check-ins using] [diff]
14:53
[77db884daa] part of check-in [4666442ec2] ofhttp: Opportunistically try loading ObjOpenSSL (check-in: [4666442ec2] user: js, branch: trunk, size: 28905) [annotate] [blame] [check-ins using] [diff]
2020-08-13
21:07
[976ffe7a77] part of check-in [8611f48f42] OFString: Rename JSONValue to objectByParsingJSON (check-in: [8611f48f42] user: js, branch: trunk, size: 28647) [annotate] [blame] [check-ins using] [diff]
2020-08-12
20:56
[636026cd3b] part of check-in [d74f244ab7] Avoid using (u)intmax_t in methods

It is not guaranteed that a type encoding for it exists. (check-in: [d74f244ab7] user: js, branch: trunk, size: 28644) [annotate] [blame] [check-ins using] [diff]

2020-08-11
19:45
[e499272015] part of check-in [b6ee372b98] OFString: Rework number parsing API

This solves the old signed vs. unsigned problem and allows for more
bases than just 8, 10 and 16, as well as auto-detection of the base (if
base is 0). (check-in: [b6ee372b98] user: js, branch: trunk, size: 28612) [annotate] [blame] [check-ins using] [diff]

2020-05-06
00:32
[da5c2f66e5] part of check-in [bc67e98833] Improve names of several properties (check-in: [bc67e98833] user: js, branch: trunk, size: 28564) [annotate] [blame] [check-ins using] [diff]
2020-04-13
15:48
[37d96aee35] part of check-in [8a0c5ed345] OFLocale: Allow plural scripting in fallback (check-in: [8a0c5ed345] user: js, branch: trunk, size: 28585) [annotate] [blame] [check-ins using] [diff]
2020-03-25
21:26
[cb6f1d9fe7] part of check-in [aac504a7bc] OFHTTPClient: Support for sending chunked body (check-in: [aac504a7bc] user: js, branch: trunk, size: 28449) [annotate] [blame] [check-ins using] [diff]
2020-03-22
21:39
[7982cd7599] part of check-in [0e2f8c361e] ofhttp: Don't try writing a file for HEAD requests (check-in: [0e2f8c361e] user: js, branch: trunk, size: 28049) [annotate] [blame] [check-ins using] [diff]
16:15
[a9d2a994f3] part of check-in [a013a9d577] ofhttp: Allow all request methods (check-in: [a013a9d577] user: js, branch: trunk, size: 27990) [annotate] [blame] [check-ins using] [diff]
15:51
[39d0dcb133] part of check-in [9c506fc995] ofhttp: Print the HTTP status code on error

Without this, there would be no indication of the error when using -q. (check-in: [9c506fc995] user: js, branch: trunk, size: 28316) [annotate] [blame] [check-ins using] [diff]

2020-02-27
23:53
[fb786804a8] part of check-in [283aece9e8] ofhttp: Properly reset _length on redirect

Additionally, only use _length for progress. (check-in: [283aece9e8] user: js, branch: trunk, size: 28064) [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
[42b4813df4] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 28116) [annotate] [blame] [check-ins using] [diff]
2019-10-07
00:07
[749d02c708] part of check-in [ee592cf603] OFDNSResolver: Major refactor

This temporarily doesn't use the search domains anymore and makes CNAMEs
slightly more inefficient. The next commits will fix both. (check-in: [ee592cf603] user: js, branch: trunk, size: 28113) [annotate] [blame] [check-ins using] [diff]

2019-10-06
16:27
[77758e69da] part of check-in [d69f7bc1ff] Rename OFDNSRequest -> OFDNSQuery

This is now in alignment with the terminology of the RFC. (check-in: [d69f7bc1ff] user: js, branch: trunk, size: 28098) [annotate] [blame] [check-ins using] [diff]

2019-10-01
00:40
[8c21bf2dad] part of check-in [6b2fb27dca] Add OFDNSRequest (check-in: [6b2fb27dca] user: js, branch: trunk, size: 28106) [annotate] [blame] [check-ins using] [diff]
2019-09-07
23:33
[03652a6d82] part of check-in [9764b0886f] ofhttp: Fix error code not always being set (check-in: [9764b0886f] user: js, branch: trunk, size: 28120) [annotate] [blame] [check-ins using] [diff]
2019-08-22
19:01
[6d1ae6e71c] part of check-in [a93dc48427] ofhttp: Allow sandbox to read continued files (check-in: [a93dc48427] user: js, branch: trunk, size: 28103) [annotate] [blame] [check-ins using] [diff]
2019-03-19
01:39
[5a1e81f84f] part of check-in [ec962afb8e] ofhttp: Parse unquoted Content-Disposition (check-in: [ec962afb8e] user: js, branch: trunk, size: 28080) [annotate] [blame] [check-ins using] [diff]
01:04
[292d3ba59e] part of check-in [d112a476aa] ofhttp: Fix --detect-filename (check-in: [d112a476aa] user: js, branch: trunk, size: 27186) [annotate] [blame] [check-ins using] [diff]
00:32
[f89010b0ee] part of check-in [967a498fcc] ofhttp: Set _resumedFrom to 0 if statusCode != 206 (check-in: [967a498fcc] user: js, branch: trunk, size: 26836) [annotate] [blame] [check-ins using] [diff]
2019-03-18
21:27
[6159de2c20] part of check-in [a7872e1065] ofhttp: Only print HEAD request for -O with -v

This also fixes trying to print the name when it has not been detected
yet. (check-in: [a7872e1065] user: js, branch: trunk, size: 26791) [annotate] [blame] [check-ins using] [diff]

2019-03-12
23:20
[64f6fe7e2e] part of check-in [53e3ae1e45] utils: Use dot syntax (check-in: [53e3ae1e45] user: js, branch: trunk, size: 26737) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[1da76a65b7] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 26944) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[fe54fd9353] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 26950) [annotate] [blame] [check-ins using] [diff]
2018-12-28
14:58
[f19ce10640] part of check-in [632999a7ab] ofhttp: Allow reading /etc/ssl from the sandbox (check-in: [632999a7ab] user: js, branch: trunk, size: 26944) [annotate] [blame] [check-ins using] [diff]
2018-12-21
21:39
[5aba4f761b] 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: 26839) [annotate] [blame] [check-ins using] [diff]

2018-12-11
22:57
[c4c7ef8326] part of check-in [064dbe5127] Include an exception in delegate methods

Otherwise, there would be two methods for every operation: One for
success and one for failure. It also makes it easy to forget about
handling failure, so it's better to always pass an optional exception. (check-in: [064dbe5127] user: js, branch: trunk, size: 26963) [annotate] [blame] [check-ins using] [diff]

2018-12-07
01:33
[31817d3b24] part of check-in [d16ad96cbd] OFStream: Use a delegate for async operations

The target / selector approach had several drawbacks:

* It was inconvenient to use, as for every read or write, a target,
selector and context would need to be specified.
* It lacked any kind of type-safety and would not even warn about using
a callback method with the wrong number of parameters.
* It encouraged using a different callback method for each read or
write call, which results in code that is hard to follow and also
slower (as it needs to recreate the async operation with a new
callback every time). (check-in: [d16ad96cbd] user: js, branch: trunk, size: 26966) [annotate] [blame] [check-ins using] [diff]

2018-11-04
20:46
[661d5ad21b] part of check-in [c554cd71da] ofhttp: Use OFSandbox's new unveiling (check-in: [c554cd71da] user: js, branch: trunk, size: 26992) [annotate] [blame] [check-ins using] [diff]
2018-08-04
23:43
[43dea22caf] part of check-in [647ec47eda] OFDNSResolver: Improve error reporting (check-in: [647ec47eda] user: js, branch: trunk, size: 26760) [annotate] [blame] [check-ins using] [diff]
2018-07-28
18:45
[df6be230a4] part of check-in [aa0384d1bf] Rename OFLocalization -> OFLocale (check-in: [aa0384d1bf] user: js, branch: trunk, size: 26778) [annotate] [blame] [check-ins using] [diff]
2018-07-03
23:35
[075e25cbdb] part of check-in [ba6cb57178] ofhttp: Move around the _URLIndex--

This is to make sure that the same URL is only tried again after we
successfully detected the file name, as otherwise we'd end up in an
infinite loop if we fail to detect the file name. (check-in: [ba6cb57178] user: js, branch: trunk, size: 26796) [annotate] [blame] [check-ins using] [diff]

2018-04-23
22:19
[e2bb21d82f] part of check-in [b16fc262c0] Use more native AmigaOS APIs on AmigaOS 3 (check-in: [b16fc262c0] user: js, branch: trunk, size: 26796) [annotate] [blame] [check-ins using] [diff]
2018-03-11
20:47
[de7a31ac42] part of check-in [38ccb06dff] ofhttp: Allow insecure redirects with --insecure (check-in: [38ccb06dff] user: js, branch: trunk, size: 26796) [annotate] [blame] [check-ins using] [diff]
20:38
[3e501ee1e4] part of check-in [892fbf97ac] ofhttp: Print headers as we receive them

This allows printing all headers of redirects in verbose mode. (check-in: [892fbf97ac] user: js, branch: trunk, size: 26699) [annotate] [blame] [check-ins using] [diff]

2018-02-27
20:36
[20b438d92f] 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: 26838) [annotate] [blame] [check-ins using] [diff]

2018-02-18
00:20
[cdc79122cb] 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: 26836) [annotate] [blame] [check-ins using] [diff]

2018-01-03
23:00
[5bb85c3a07] part of check-in [8377e80ba9] ofhttp: Fix file name not always being reset (check-in: [8377e80ba9] user: js, branch: trunk, size: 26427) [annotate] [blame] [check-ins using] [diff]
19:49
[8c1ff01854] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 26408) [annotate] [blame] [check-ins using] [diff]
2017-12-27
20:40
[de5b9ca60c] part of check-in [904d0f429b] of{http,zip}: Allow user database reading

This is required as they now use attributesOfItemAtPath:, which reads
the user database. (check-in: [904d0f429b] user: js, branch: trunk, size: 26385) [annotate] [blame] [check-ins using] [diff]

2017-11-22
00:47
[d6522c977d] part of check-in [eba39f1c9d] OF_APPLICATION_DELEGATE(): Verify conformance (check-in: [eba39f1c9d] user: js, branch: trunk, size: 26337) [annotate] [blame] [check-ins using] [diff]
2017-11-12
18:27
[e43d76979b] part of check-in [34fe205b84] OFFileManager: Major API redesign

This removes all query methods and replaces them by a single one that
returns a dictionary. Not only does this allow querying multiple
attributes at once, it is also more extensible, as the previous
attributes were specific to file URLs. (check-in: [34fe205b84] user: js, branch: trunk, size: 26314) [annotate] [blame] [check-ins using] [diff]

2017-10-22
15:05
[46acc91009] part of check-in [a06354b42a] Make Apple GCC with -Wshadow happy (check-in: [a06354b42a] user: js, branch: trunk, size: 26271) [annotate] [blame] [check-ins using] [diff]
14:09
[511674f2be] part of check-in [31c0f5b89e] Make Apple GCC with -Wshadow happy (check-in: [31c0f5b89e] user: js, branch: 0.90, size: 25122) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[7674e4cd26] part of check-in [2f4e0df8be] Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 26277) [annotate] [blame] [check-ins using] [diff]

2017-10-11
20:59
[92c2a328ea] part of check-in [836314f39a] Fix shadowed variables and enable -Wshadow (check-in: [836314f39a] user: js, branch: 0.90, size: 25128) [annotate] [blame] [check-ins using] [diff]
20:53
[19987f61b8] part of check-in [00476e4430] Fix shadowed variables and enable -Wshadow (check-in: [00476e4430] user: js, branch: trunk, size: 26263) [annotate] [blame] [check-ins using] [diff]
2017-10-01
21:06
[94fff99697] part of check-in [f97084d9c3] Fix compilation with GCC (check-in: [f97084d9c3] user: js, branch: trunk, size: 26232) [annotate] [blame] [check-ins using] [diff]
2017-09-25
00:02
[e7a88133ce] part of check-in [c35ba05bbc] OFHTTPClient: Add support for passing a context (check-in: [c35ba05bbc] user: js, branch: trunk, size: 26206) [annotate] [blame] [check-ins using] [diff]
2017-09-24
21:00
[7ea7ca97c5] 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: 26106) [annotate] [blame] [check-ins using] [diff]

00:59
[725d764e14] 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: 26096) [annotate] [blame] [check-ins using] [diff]

2017-09-23
22:07
[fb3cc5ba3d] part of check-in [958da109d3] Support for passing a context to async IO handlers (check-in: [958da109d3] user: js, branch: trunk, size: 25949) [annotate] [blame] [check-ins using] [diff]
20:35
[2ea2fa69f0] part of check-in [c26c8ca746] ofhttp: Refactor for asynchronous OFHTTPClient (check-in: [c26c8ca746] user: js, branch: trunk, size: 25893) [annotate] [blame] [check-ins using] [diff]
2017-08-14
11:33
[729b47a746] part of check-in [608b76a238] ofhttp: Convert a method to a static function (check-in: [608b76a238] user: js, branch: trunk, size: 25093) [annotate] [blame] [check-ins using] [diff]
2017-07-22
23:04
[492c8ebbc8] part of check-in [23e57c5040] OFFile: Simplify mode

This removes "b" for binary and always uses binary, as there is no good
reason to not use binary. (check-in: [23e57c5040] user: js, branch: trunk, size: 25097) [annotate] [blame] [check-ins using] [diff]

20:50
[1f66bff7ec] part of check-in [c8f7b90082] Split OFDataArray into OFData and OFMutableData (check-in: [c8f7b90082] user: js, branch: trunk, size: 25099) [annotate] [blame] [check-ins using] [diff]
2017-06-04
18:48
[09fa3de57a] part of check-in [c9621825fc] Treat MorphOS + ixemul as a separate platform

This reduces the ifdef hell and makes much more sense, as with ixemul,
no native calls are allowed. (check-in: [c9621825fc] user: js, branch: trunk, size: 25120) [annotate] [blame] [check-ins using] [diff]

01:30
[144754058e] part of check-in [d974e769c5] OFLocalization: Add support for MorphOS + libnix (check-in: [d974e769c5] user: js, branch: trunk, size: 25148) [annotate] [blame] [check-ins using] [diff]
2017-06-03
18:41
[4a96f71a53] part of check-in [cead04ef07] ofhttp: Small string fix (check-in: [cead04ef07] user: js, branch: trunk, size: 25017) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[fd3994865b] 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: 25024) [annotate] [blame] [check-ins using] [diff]

2017-04-09
18:22
[9d1be742e3] part of check-in [40cf53506a] Add OFSandbox

Only OpenBSD's pledge() is supported so far. (check-in: [40cf53506a] user: js, branch: trunk, size: 24999) [annotate] [blame] [check-ins using] [diff]

2017-02-27
21:57
[c3a4b738ae] part of check-in [7ffbd24169] ofhttp: Move formatting out of localized strings (check-in: [7ffbd24169] user: js, branch: trunk, size: 24536) [annotate] [blame] [check-ins using] [diff]
2017-01-29
19:08
[cc6aaa39b2] part of check-in [d040a0989d] ofhttp: Add --insecure flag to ignore TLS errors (check-in: [d040a0989d] user: js, branch: trunk, size: 24418) [annotate] [blame] [check-ins using] [diff]
2017-01-10
19:51
[b07f7b6ae5] part of check-in [e3e38ed68d] Do not use DATADIR as a define

This creates a conflict on Windows. (check-in: [e3e38ed68d] user: js, branch: trunk, size: 23986) [annotate] [blame] [check-ins using] [diff]

19:39
[9a10462bff] part of check-in [e731dc4c75] Implement support for localized strings (check-in: [e731dc4c75] user: js, branch: trunk, size: 24070) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[2334e6806d] 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: 23930) [annotate] [blame] [check-ins using] [diff]

06:26
[6d271e2d00] part of check-in [06bcb21fc7] Add OFLocalization

This singleton gives access to all things locale, including the ability
to get localized strings.

This also adds the OF_LOCALIZED() macro. Its first argument is an ID for
the string to be localized and its second argument is the fallback
string to be used if it cannot retrieve the localized string. Following
that are variable name / value pairs to be replaced in the localized
string.

Getting translated strings is not implemented yet: Instead, it always
uses the fallback string.

This also switches ofhttp to localized strings. (check-in: [06bcb21fc7] user: js, branch: trunk, size: 23924) [annotate] [blame] [check-ins using] [diff]

2017-01-07
02:34
[3ef2bcb62b] part of check-in [6dff0f5922] Always use "." for the decimal point

This is achieved by replacing the locale's decimal point with "." after
formatting and replacing "." with the locale's decimal point before
parsing.

To still use the decimal point from the locale for formatting, the new
flag "," is introduced to formats. This is useful for just printing a
string to the user that is not saved to a file or sent via a network.

While this is an ugly hack, there is no better way to do this other than
implementing the functionality of printf and strtod myself, as POSIX
does not specify versions of these that take a locale as an argument.
While this is a lot of work and error-prone, I will most likely end up
doing this eventually.

This commit also enables the locale in OFApplication to notice when
things break. As a nice side effect, ofhttp now uses the locale's
decimal point in its user interface. (check-in: [6dff0f5922] user: js, branch: trunk, size: 20848) [annotate] [blame] [check-ins using] [diff]

2016-08-28
10:12
[676c6715db] part of check-in [9a43c41721] ofhttp: Add -f / --force to overwrite file (check-in: [9a43c41721] user: js, branch: trunk, size: 20845) [annotate] [blame] [check-ins using] [diff]
2016-08-21
14:09
[e8263f7476] 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: 20701) [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
[4bc226ed65] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 20109) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
[20c2c916a8] part of check-in [cec0f072f8] Update copyright

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

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

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

2015-12-05
21:23
[4ffeaaca45] part of check-in [227351155f] of{http,zip}: Better documentation of long options (check-in: [227351155f] user: js, branch: trunk, size: 20101) [annotate] [blame] [check-ins using] [diff]
2015-11-29
14:20
[545bac3fa9] 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: 19765) [annotate] [blame] [check-ins using] [diff]

2015-11-28
18:56
[bdce356a5d] part of check-in [bfa913aebe] OFOptionsParser: Reworked API

The new API allows long options and requires less manual parsing. (check-in: [bfa913aebe] user: js, branch: trunk, size: 19742) [annotate] [blame] [check-ins using] [diff]

2015-08-22
10:57
[45b5064c67] part of check-in [f3c452dfef] Move file management to its own class

This makes it possible to add support for delegates for file management
operations and on top makes it easier to add support for file management
operations on URLs. (check-in: [f3c452dfef] user: js, branch: trunk, size: 18805) [annotate] [blame] [check-ins using] [diff]

2015-06-28
17:16
[9d72e08e88] part of check-in [325f616d84] {generators,utils/of{hash,http}}: Use generics (check-in: [325f616d84] user: js, branch: trunk, size: 18700) [annotate] [blame] [check-ins using] [diff]
2015-06-14
12:47
[4ec503b029] part of check-in [51cfed24d2] utils/ofhttp: Allow specifying - to -b for stdin (check-in: [51cfed24d2] user: js, branch: trunk, size: 18605) [annotate] [blame] [check-ins using] [diff]
2015-06-08
23:19
[3efdc075b3] part of check-in [1d81eaca70] utils/ofhttp: Fix a very nasty typo (check-in: [1d81eaca70] user: js, branch: trunk, size: 18428) [annotate] [blame] [check-ins using] [diff]
2015-06-01
18:27
[36dd0a09a7] part of check-in [734fbbb144] OFKernelEventObserver_select: Small Win64 fix (check-in: [734fbbb144] user: js, branch: trunk, size: 18428) [annotate] [blame] [check-ins using] [diff]
2015-05-24
10:58
[de242f4469] part of check-in [33760dee1a] utils/ofhttp: Add verbose mode (check-in: [33760dee1a] user: js, branch: trunk, size: 18435) [annotate] [blame] [check-ins using] [diff]
2015-05-23
11:21
[84d9105a37] part of check-in [c8877fd278] OFHTTPRequest: Rename entity to body (check-in: [c8877fd278] user: js, branch: trunk, size: 17652) [annotate] [blame] [check-ins using] [diff]
2015-05-21
20:31
[d09ed2ac2f] part of check-in [50de0da5bc] utils/ofhttp: Change some Unicode characters (check-in: [50de0da5bc] user: js, branch: trunk, size: 17672) [annotate] [blame] [check-ins using] [diff]
2015-05-20
22:51
[e58ba69867] part of check-in [25d6acad98] utils/ofhttp: Add support for Content-Disposition (check-in: [25d6acad98] user: js, branch: trunk, size: 17672) [annotate] [blame] [check-ins using] [diff]
2015-05-16
11:16
[e352c0cdcc] part of check-in [625377fca5] utils/ofhttp: Default User-Agent to OFHTTP

It can still be overridden with -HUser-Agent:. (check-in: [625377fca5] user: js, branch: trunk, size: 14140) [annotate] [blame] [check-ins using] [diff]

2015-05-07
19:17
[4b90142579] part of check-in [ce7b92cbcf] utils/ofhttp: Fix a wrong type (check-in: [ce7b92cbcf] user: js, branch: trunk, size: 14084) [annotate] [blame] [check-ins using] [diff]
2015-05-06
22:07
[b1ee5836a1] part of check-in [a83058c2c0] utils/ofhttp: Add options for method and entity (check-in: [a83058c2c0] user: js, branch: trunk, size: 14079) [annotate] [blame] [check-ins using] [diff]
2015-05-04
22:54
[2ecde9c270] part of check-in [0b13fb2e38] utils/ofhttp: Fix a type mismatch (check-in: [0b13fb2e38] user: js, branch: trunk, size: 12747) [annotate] [blame] [check-ins using] [diff]
2015-04-26
20:48
[9d4b8c5595] part of check-in [ac6dadc698] utils/ofhttp: Allow specifying headers and proxy (check-in: [ac6dadc698] user: js, branch: trunk, size: 12741) [annotate] [blame] [check-ins using] [diff]
16:06
[4f8bf24b84] part of check-in [06b8800f20] utils/ofhttp: Better error output and small bugfix (check-in: [06b8800f20] user: js, branch: trunk, size: 11058) [annotate] [blame] [check-ins using] [diff]
14:57
[157aaf05ca] part of check-in [336a6e129b] utils/ofhttp: Support for continuing downloads (check-in: [336a6e129b] user: js, branch: trunk, size: 10461) [annotate] [blame] [check-ins using] [diff]
14:08
[0c3783e492] part of check-in [9fb003e423] utils/ofhttp: Better error output (check-in: [9fb003e423] user: js, branch: trunk, size: 9419) [annotate] [blame] [check-ins using] [diff]
12:45
[4922b58539] part of check-in [05a0a6f65c] utils/ofhttp: Print redirects in non-quiet mode (check-in: [05a0a6f65c] user: js, branch: trunk, size: 8433) [annotate] [blame] [check-ins using] [diff]
12:24
Added: [f40132b96b] part of check-in [486073790c] Add utils/ofhttp

This is a small tool to download files via HTTP(S). (check-in: [486073790c] user: js, branch: trunk, size: 8135) [annotate] [blame] [check-ins using]