Some more notable improvements in tapir:
* contextual routes support in #http4s integration: https://tapir.softwaremill.com/en/latest/server/http4s.html#accessing-http4s-context
* continuous openapi-codegen improvements: https://tapir.softwaremill.com/en/latest/generator/sbt-openapi-codegen.html
* iron types integration: https://tapir.softwaremill.com/en/latest/endpoint/integrations.html#iron-integration
http4s-jetty-0.23.13 is out. It addresses the breaking async changes in Cats Effect 3.5.
https://github.com/http4s/http4s-jetty/releases/tag/v0.23.13
#scala #typelevel #http4s #jetty #servlet
My #SolidProject client and server are now ready for efficient access control demos on #BigData using the HTTP WG's 's "Signing HTTP Messages".
I can demo with a server publishing N resources (in this case, #LinkedData Event Stream (#LDES) data.
The client is implemented in #Scala using #http4s, and the server uses #Akka.
The libraries can be compiled to JS for use on #nodeJS frameworks too. Native is not far off, either.
The client need make no more than N+2 requests:
1. Request 1 on a resource R returning a "401 Unauthorised"
2. a max of 2 requests to get the access control rules
3. from there on, N signed requests using #HttpSignatures (when those all fall in the same container space)
Solid clients are essentially like Search Engine crawlers fetching data on the web, so they need to jump around from website to website. Having approx 2 requests extra per website for auth is very interesting in that scenario.
Note: those 2 requests can be cached, so those may be only needed once over a long period of time. The connection efficiency is possible by combining the following pieces:
• using the IETF's HTTPSig (a version from the beginning of the year)
• using default rules (part of the spec)
• caching of ACLs on the client
• the use of a "defaultAccessContainer" link header to reduce the number of requests.
I am trying to work out who may be interested in such a technical demo, what a good time for it may be, ...
so please just comment here or send me a mail at henry.story@bblfish.net
#httpsignatures #SolidProject #nodejs #LDES #linkeddata #akka #http4s #scala #bigdata
"Smithy - the API definition language"
Smithy, a protocol-agnostic interface definition language made by AWS, now has integration with Scala (and #Http4s). Watch this video series.
Shared #link (#Programming, #Scala, #YouTube, #Video).
https://www.youtube.com/watch?v=nNUnSbyyxGI&list=PL1NS3pe5mmu25RK5lJnLxnllcMkxBqaI5
#http4s #link #programming #scala #youtube #video
J'écris un service HTTP avec #catseffect, #fs2 et #http4s compilé en natif avec #ScalaNative, c'est assez exceptionnel les performances et l'empreinte mémoire obtenues, tout en gardant un super langage haut niveau avec du beau fonctionnel safe.
Pour le fun j'ai créé un petit client redis natif avec pool de connexions en quelques lignes, avec toute la safety pour éviter les leaks etc. C'est tellement beau 🤩
#catseffect #fs2 #http4s #scalanative
After another rigorous and thoughtful HTTP benchmark from my colleagues in the Scala Community, I've updated my business card with a new title.
w00t! Stackd podcast episode #63 is out! One CLI to Rule them All
@aalmiray joins @kito99 and @dhinojosa to talk about #jreleaser, #jbang, #Jarviz, #AI, whether or not #Java is over the hill, #http4s, #picocli, #jcommander, and much more: https://www.pubhouse.net/2020/01/stackd-43-year-end-review.html
#jreleaser #jbang #jarviz #ai #java #http4s #picocli #jcommander
http4s-jdk-client-0.9 and 1.0.0-M9 are out. They use fs2-3.6.0's new integration with Java's Flow to drop the depenedency on fs2-reactive-streams. This is a nice streamlining for projects that have dropped Java 8.
https://github.com/http4s/http4s-jdk-http-client/releases/tag/v0.9.0
http4s-netty 0.5.5 has been released
#scala #http4s #typelevel #netty #release
#Netty client side code makes me sad.
https://github.com/http4s/http4s-netty/pull/393
Why the hell does the low-level test sometimes fail?
Of course the netty example code is not useful, it just prints.
#netty #http4s #fs2 #scala #catseffect
http4s-1.0.0-M39 is out. It's the dev line, with the production fixes from 0.23.18.
This one is binary compatible with the last milestone, but if you need the satellite repos rereleased, speak up here:
http4s-0.23.18 is out. Fixes a `StackOverflowError` that hit users with unusually small stacks, and a few optimizations hither and yon.
Only six more sleeps until #http4s turns ten! 🎉
https://github.com/http4s/http4s/commit/130ed903320bc64c3551b27b7855e51290afd01f
@rossabaker
I have been having a good time applying what I am learning reading chapter 2 of @BartoszMilewski's new book Dao of FP to #http4s https://github.com/BartoszMilewski/DaoFP
http4s-twirl releases are out, courtesy of Kailuo Wang:
* 0.23.17 makes the jump from scala-xml-1 to scala-xml-2. Beware, binary breaking!
* 0.24.0-M1 is based on twirl-1.6 milestones for Scala 3 support.
Server-side templates are cool again.
Faffing about with free invariant algebras to define HTTP codecs in a way that can be shared across backends. Computers can be fun sometimes.
New book arrived today!
I’m really excited about http/2 lately and working on the ember implementation in #http4s
It’s really my first time trying to learn a protocol in depth.