GrpcService.prototype.refuses(request: Request): Response | null
Refuses a native application/grpc request from its HEADERS alone.
The refusal itself is M70i's and unchanged: the fetch Response cannot
carry the HTTP/2 trailers the native wire format signals completion with,
so a Trailers-Only UNIMPLEMENTED is the protocol's own way to say so.
What changed is WHEN it is reachable.
The kernel used to buffer the request body before dispatching, and a
client-streaming or bidirectional call holds its request stream OPEN — so
that read never resolved and the caller got no frames at all instead of
the refusal (V5-5). grpcurl opens a bidirectional reflection stream
first, which is why it hung on every request while a unary probe with the
stream closed received the refusal correctly.
Deciding this from headers costs nothing: the content type is all the
answer depends on, and the path check is the same claims already made.
request: Request
The native fetch request, body untouched
Response | null
The Trailers-Only refusal, or null to dispatch normally