def stream.route

bend-kit-http@0.38.2.0 · http.bend:5029

import bend-kit-http@0.38.2.0/http.bend as Http
import Base

5029# One HTTP/1.1 connection per stream: an idle one from the pool, else a new one. The request keeps it alive.
5030# A reused socket that fails before any response byte is tried once more on a new one, for an idempotent method.
5031def stream.route(p: Pool, +ms: U32, r: String & Send & Route) -> IO(Pool & Result<&1, &1, Err, Stream>):
5032  (+key, request, route) = r
5033  Send{+method, target, authority, headers, body} = request
5034  do IO<Pool & Result<&1, &1, Err, Stream>>:
5035    taken : Pool & Maybe<&1, Conn> <- pool.take.live(p, key)
5036    stream.take(taken, ms, String.eq(method, "HEAD"), pool.idempotent(method), key, route,
5037      encode_req.on(method, target, authority, headers, body, False{}))

Uses (20)

Used by (1)