I’m very pleased to announce the immediate availability of the Mercure.rocks hub version 0.14. Mercure is a free and open-source solution for real-time communication. With Mercure, securely push data to all your connected users with a simple POST request. No third-party library or SDK is required: the browser (or any other type of client) receives…
Tag: Go
Goroutines, threads, and thread IDs
If you attended AFUP Day 2022, you might know that I am currently working on a PHP module for web servers written in Go. While testing my upcoming library, I encountered strange memory access issues related to the threads created by the Go runtime (you know, cgo…). By default, the Go scheduler runs many goroutines…
New in Caddy 2.5: Redact Sensitive Data from Your Logs
Caddy is the rising star of web servers. It is fast, easy to configure, fully featured (automatic TLS certificate generation and renewal, HTTP/3, cloud-native, config hot reloading…), and secure (it is written in Go, not in C). Thanks to its unmatched extensibility that makes it a top-notch app platform, Caddy has a thriving ecosystem! To…
Using the “103 Early Hints” Status Code in Go Applications
103 is a new experimental HTTP status code defined in RFC 8297. It’s an informational status that can be sent by a server before the main HTTP response. Used in conjunction with the Link HTTP header and the preload relation, 103 gives the client the opportunity to fetch resources (assets, images, linked API documents…) related…
The Mercure.rocks Hub is now based on Caddy Web Server
I’m very happy to announce the immediate availability of the Mercure.rocks Hub version 0.11! The Mercure.rocks Hub is a free software implementing the Mercure specification, an open protocol for fast, reliable and battery-efficient in-browser real-time communications. Version 0.11 is a major milestone for the project! As you may know, the Mercure.rocks Hub is written in…
A Structured HTTP Fields Parser and Serializer for the Go Programming Language
“Structured Field Values for HTTP” is an upcoming RFC defining a set of well-defined data types to use in HTTP headers and trailers. This new format will improve the interoperability and the safety of HTTP by allowing to create generic parsers and serializers suitable for all HTTP headers (currently, most headers need a custom parser)…
Vulcain: HTTP/2 Server Push and the rise of client-driven REST APIs
Watch a longer video (English)!Watch a French version. Over the years, several formats have been created to fix performance bottlenecks of web APIs: the n+1 problem, over fetching, under fetching… The current hipster solution for these problems is to replace the conceptual model of HTTP (resource-oriented), by the one of GraphQL. It’s a smart network…
Stack2Slack: a Slack bot written in Go to monitor StackOverflow tags
At Les-Tilleuls.coop, we use Slack to centralize our communications and notifications. And, as the maintainers of the API Platform framework, we also do our best to help the community on StackOverflow when we have some free time. Until recently we were just checking periodically the StackOverflow website for new questions. But because all our notifications (GitHub,…