(response *http.Response)
| 654 | } |
| 655 | |
| 656 | func (cc *connectStreamingClientConn) validateResponse(response *http.Response) *Error { |
| 657 | if response.StatusCode != http.StatusOK { |
| 658 | return errorf(httpToCode(response.StatusCode), "HTTP status %v", response.Status) |
| 659 | } |
| 660 | if err := connectValidateStreamResponseContentType( |
| 661 | cc.codec.Name(), |
| 662 | cc.spec.StreamType, |
| 663 | getHeaderCanonical(response.Header, headerContentType), |
| 664 | ); err != nil { |
| 665 | return err |
| 666 | } |
| 667 | compression := getHeaderCanonical(response.Header, connectStreamingHeaderCompression) |
| 668 | if compression != "" && |
| 669 | compression != compressionIdentity && |
| 670 | !cc.compressionPools.Contains(compression) { |
| 671 | return errorf( |
| 672 | CodeInternal, |
| 673 | "unknown encoding %q: accepted encodings are %v", |
| 674 | compression, |
| 675 | cc.compressionPools.CommaSeparatedNames(), |
| 676 | ) |
| 677 | } |
| 678 | cc.unmarshaler.compressionPool = cc.compressionPools.Get(compression) |
| 679 | mergeHeaders(cc.responseHeader, response.Header) |
| 680 | return nil |
| 681 | } |
| 682 | |
| 683 | type connectUnaryHandlerConn struct { |
| 684 | spec Spec |
nothing calls this directly
no test coverage detected