mirror of
1
Fork 0
gotosocial/internal/httpclient
kim 7b1ccbd65a
[feature] add worker task serialization logic (#2989)
* improved server shutdown with more precise shutdown of modules + deferring of ALL of it

* move delivery and workers into separate files

* add worker task model and Serialize() / Deserialize() methods for message types

* start adding message serialize / deserialize tests

* start adding test cases

* update body rewinding to rely on standard library mechanism of r.GetBody()

* remove request rewinding (http.Client{} should already handle this)

* standard library already handles rewinding

* improved code comment

* move the newPOST() function contents to prepare(), fits better with current API

* add Serialize() / Deserialize() implementations for Delivery{} type

* finish writing FromClientAPI sserialize / deserialize tests

* start adding FromFediAPI{} serialize / deserialize test cases

* fix FromFediAPI{} tests

* add tests for delivery message type

* fix repeat code

* missing license header

* use testrig status and accounts for marshal / unmarshaling tests

* add a specific test for checking account RSA keys are preserved
2024-06-20 17:06:20 +00:00
..
client.go close + drain body if response body is too large (#2897) 2024-05-05 16:43:38 +01:00
client_test.go [performance] improved request batching (removes need for queueing) (#1687) 2023-04-28 17:45:21 +02:00
request.go [chore] include attemptno in httpclient logs (#2887) 2024-04-30 16:15:50 +02:00
sanitizer.go [feature] enable + document explicit IP dialer allowing/denying (#1950) 2023-07-07 16:17:39 +02:00
sanitizer_test.go [feature] enable + document explicit IP dialer allowing/denying (#1950) 2023-07-07 16:17:39 +02:00
transport.go [feature] add worker task serialization logic (#2989) 2024-06-20 17:06:20 +00:00
validate.go [performance] massively improved ActivityPub delivery worker efficiency (#2812) 2024-04-11 11:45:35 +02:00