Hi Everyone! Your (semi) regular dose of :http4k:...
# http4k
d
Hi Everyone! Your (semi) regular dose of http4k news - here's everything since 6.50.0.0: New modules since we last announced on this channel: • AWS Connect suite: ◦ http4k-connect-amazon-iotdataplane + fake (6.57.0.0) - Data Plane: publish, Thing Shadows, retained messages ◦ http4k-connect-amazon-iot + fake (6.57.2.0) - Control plane: Jobs and Streams operations ◦ http4k-connect-amazon-iotjobsdataplane + fake (6.57.2.0) - device-side Jobs API ◦ http4k-connect-amazon-xray + fake (6.59.0.0) - X-Ray read APIs ◦ http4k-connect-amazon-cognitoidentity-fake (6.59.0.0) • Everything else: ◦ http4k-postbox (6.59.0.0, pro) - reliable async HTTP request processing via transactional outbox/inbox ◦ http4k-security-webauthn (6.54.0.0, pro) - passkeys and passwordless login ◦ http4k-template-kotlinx-html (6.58.1.0) - kotlinx-html DSL as a TemplateRenderer ◦ http4k-format-fory (6.58.0.0) - Apache Fory binary serialization ◦ http4k-testing-webdriver-datastar (6.54.0.0) - a Datastar extension to browser automation • Other notable features since we last announced on this channel: ◦ http4k-connect-ai-anthropic: Major Messages API remodel to cover new models and features ◦ http4k-api-openapi: Support for OpenApi 3.2.0 ◦ http4k-connect-aws-dynamo-fake: Upgraded to provide better parity with the real thing http4k Distribution from October 1st: - Following our application for an exemption to the new Maven Central publishing limits, we have had confirmation from Sonatype that http4k does not qualify. Therefore, from October 1st, you can expect only a single release of http4k every three months as the rolling limits come into force. - We will push our final unrestricted Maven Central release as near to 30th September as makes sense with the latest updates to the libraries. After this date, we will continue to push releases every couple of weeks to the http4k Maven instance (available to http4k EE subscribers only). - No other public updates will be able to be published to Maven Central regardless of cause - and this includes 1st and 3rd party security patches. Hence you can expect an uptick of pings from Dependabot and friends as unpatched issues come in that would normally be picked up by us. - Post the September release, we anticipate the next version of http4k that hits Maven Central will be v7.0.0.0, which will come with the various breaking changes that you expect with a major release and the bump to Java 25 as a minimum version. This is unfortunate - we like to put out a pre-major bump release which contains all the breaking changes before the major version, but we can't burn the Q1 release on this. - If any of this impacts you and you'd like to chat, then please reach out to us. We're here to help. In other other news - if you're using Ktor as well as http4k, then @Marco Garofalo has taken inspiration from our http4k-testing-chaos module and ported it to Ktor, so you can get all that Chaotic goodness that you're used to from http4k ! Hope you're all well!
❤️ 6
K 3
a
> http4k-template-kotlinx-html 👀 I've been using kotlinx.html extensively. Definitely worth a look. > http4k-connect-amazon-iotdataplane Would have been great at my old job 😅 . I tried making it myself once but got a bit overwhelmed by the edge-cases. > http4k-postbox Might we worth looking into to insulate myself from AWS lock-in on my app's cloud edition (e.g. webhooks), and support jobs in my self-hosted edition 🤔. Except, the last time I took a quick look, it didn't appear to have a retry mechanism. Or am I mistaken?
d
I'm actually not too familiar, but there should be a retry with backoff. Docs might not all be there quite yet. 🙃
n
tx4k in forkhandles also performs retry with exponential backoff & jitter. I wonder if its worth extracting it into a common module.
s
We use tx4k for the jdbc implementation of postbox. Postbox implements retry with back off and jitter so it seems like we still have some overlapping features
n
There is a functional model in tx4k for calculating durations for exponential backoff and jitter, which could be extracted into its own forkhandles module. Or just reused in postbox, since it is using tx4k
d
seems like that would be something to put into time4k?
n
hmmm… maybe. it doesn’t depend on anything in time4k
d
yes - but if it could be (and we could probably integrate the 2 quite nicely).
👍 1