gRPC Without grpcio: How BlackBull Serves All Four RPC Shapes in Pure Python
If you have ever wanted to serve a gRPC endpoint from Python without compiling grpcio's C++ core — or...
Tag archive
If you have ever wanted to serve a gRPC endpoint from Python without compiling grpcio's C++ core — or...
Under every web framework is a function that turns a socket's bytes into a request and a request into bytes. Build it by hand and you meet the gotchas the framework was hiding: the blank-line frame, byte-vs-character length, and the difference between 404 and 405.

when building web APIs, choosing the correct HTTP method is an important part of API design. For many...
Chaining order, recover, context timeouts, the ResponseWriter wrapping that breaks streaming, request IDs: the Go HTTP middleware that holds up in production, with real code and traps.
The IETF is standardizing a new HTTP method called QUERY. Here is what it does, how it differs from GET and POST, and why you should watch it.
I have built more search endpoints than I can count. Candidate search in a recruitment platform,...

In the previous article, we explored how HTTP/2 transformed web communication. Instead of opening...
What is a Graceful Shutdown? A graceful shutdown is the process where a system, service,...

For 30 years, every search API on the internet has been telling the protocol one thing and...
One of API design's most familiar workarounds may finally have an expiration date. For years, API...
When I started learning backend development, GET and POST felt simple. GET to read data, POST to send...
Send four cleartext HTTP/1.1 requests — 200 with cache headers, HEAD, a conditional GET that returns 304, and a 404 — and learn to name every line in the exchange.