Граф коммитов

12 Коммитов

Автор SHA1 Сообщение Дата
Ben Bader ee13d65420
Add HttpTransport, async clients to iOS (#543)
This PR makes the newly-added HttpTransport into expect/actual types, with a new implementation for iOS. This in turn required quite a bit of work to set up testing, and uncovered what seems to be a kotlinc type-inference bug that I've worked around here by changing the kotlin code generator a little bit.
2023-11-01 10:06:46 -06:00
Ben Bader 188faba9e2
Add iOS SocketTransport implementation (#542)
This is rather crude, but it seems to work. Protocol and Transport are blocking APIs; in Android (and Java generally) that's okay, but Apple strongly pushes you towards async networking in iOS. So strongly in fact that all high-level APIs that are not yet deprecated are async-only, including Network.framework. This framework is also the only non-deprecated game in town when it comes to TLS.

In order to bridge the gap between Network.framework and our blocking APIs, this PR makes extensive use of dispatch semaphores - essentially, we block the calling thread until a completion handler signals the semaphore.

In the next major version of Thrifty, we should see about making the core APIs suspend, with blocking shims for migration. In that version, we can drop this charade and just use ktor or something. Until that glorious day, we get NwSocket.
2023-10-17 13:57:51 -06:00
Ben Bader 8371641ab1
Bump Kotlin, Gradle, fix deprecations (#539) 2023-09-09 20:48:02 -06:00
Ben Bader 30d685bd56
Can't do automated snapshots without access to GH secrets (#522) 2022-12-16 14:18:01 -07:00
Ben Bader 7ce13a51ea
Try to publish snapshots from Github Actions (#521) 2022-12-16 11:39:49 -07:00
Ben Bader c152d94323
Bump Okio to 3.2.0, also fix Gradle warning (#510)
* Bump Okio to 3.2.0, also fix Gradle warning

* oops

* build me plz
2022-12-09 09:40:45 -07:00
Ben Bader d0787fe8cc
Update github actions versions (#509) 2022-12-08 14:28:51 -07:00
Ben Bader b54e8ce369
Bump Gradle to 7.6, enable build caching (#508)
* Bump Gradle to 7.6

* Enable build caching by default, use it in CI but not integration tests
2022-12-08 14:10:42 -07:00
Ben Bader 4b3ff0fe73
Fix OS-dependent file-path failure in LoaderTest (#505)
* Fix OS-dependent file-path failure in LoaderTest

* Test on windows

* typo
2022-12-07 19:36:25 -08:00
Ben Bader a1dd337926
Test on JDK 8 and 17, Ubuntu only (#501) 2022-12-06 15:06:54 -07:00
Ben Bader 1afd1bcf92
Add missing license headers and a script to check that new files have them (#450)
Add missing license headers and a script to check that new files have them
2021-06-20 22:04:47 -06:00
Ben Bader c38b1be33b
Add Github Actions CI workflow (#424)
* Add Github Actions CI workflow

* Add codecov.io step

* Use Codecov github action instead of piping curl to bash

* fetch-depth: 2
2021-02-10 17:05:56 -07:00