Edward McFarlane

Results 90 comments of Edward McFarlane

Connect docs for [`WithReadMaxBytes`](https://pkg.go.dev/github.com/bufbuild/connect-go#WithReadMaxBytes) mention [`http.MaxBytesHandler`](https://pkg.go.dev/net/http#MaxBytesHandler) as an alternative. > Handlers may also use [http.MaxBytesHandler](https://pkg.go.dev/net/http#MaxBytesHandler) to limit the total size of the HTTP request stream (rather than the per-message size)....

> I thought that if the handler detected that this limit was exceeded that it results in a "resource exhausted" error to the client. Sorry I was unclear. The `http.MaxBytesHandler`...

Clarifying the server errors codes should help users debug errors. Any `INVALID_ARGUMENT` will come from user code, ie. an invalid field. Mangled payloads I think should be server errors as...

Ideally it would be a 400 HTTP status but not `INVALID_ARGUMENT` error code as I do think that implies a user issue not a marshalling error. If both client and...

Interestingly gRPC clients that receive a 400 response from a service map to `INTERNAL` as per: https://github.com/grpc/grpc/blob/master/doc/http-grpc-status-mapping.md I'd argue `UNKNOWN` codes are more severe then `INTERNAL` in most cases. OTEL...

This is fixed with the conformance tests and the spec update for error codes.

Related issue: https://github.com/golang/go/issues/52183 . Which seems to show`client disconnects` can be reported without a context cancellation.

Tried an idea for generating types based on service and method name prefix, similar to how procedure, client and server interfaces are namespaced. For the ping service it helps a...

It needs the service to separate the method names: ```proto service FailService { rpc Ping(FailRequest) returns (FailResponse) {} } ``` Would be overlapping with `PingRequest`. ```go Ping(context.Context, *FailServicePingRequest) (*FailServicePingResponse, error)...

@meling it's name is based on the service and RPC method, not the message type. So for the two `Ping` methods above the type aliases would be: ```go type (...