This reverts commit c84a5de06496bf8416cebf9d0058f481e37c165e.
This commit is contained in:
@ -850,27 +850,11 @@ func equalLogEntry(entries ...*pb.GrpcLogEntry) (equal bool) {
|
||||
tmp := append(h.Metadata.Entry[:0], h.Metadata.Entry...)
|
||||
h.Metadata.Entry = tmp
|
||||
sort.Slice(h.Metadata.Entry, func(i, j int) bool { return h.Metadata.Entry[i].Key < h.Metadata.Entry[j].Key })
|
||||
// Delete headers that have POST values here since we cannot control
|
||||
// this.
|
||||
for i, entry := range h.Metadata.Entry {
|
||||
if entry.Key == ":method" {
|
||||
h.Metadata.Entry = append(h.Metadata.Entry[:i], h.Metadata.Entry[i+1:]...)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if h := e.GetServerHeader(); h != nil {
|
||||
tmp := append(h.Metadata.Entry[:0], h.Metadata.Entry...)
|
||||
h.Metadata.Entry = tmp
|
||||
sort.Slice(h.Metadata.Entry, func(i, j int) bool { return h.Metadata.Entry[i].Key < h.Metadata.Entry[j].Key })
|
||||
// Delete headers that have POST values here since we cannot control
|
||||
// this.
|
||||
for i, entry := range h.Metadata.Entry {
|
||||
if entry.Key == ":method" {
|
||||
h.Metadata.Entry = append(h.Metadata.Entry[:i], h.Metadata.Entry[i+1:]...)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if h := e.GetTrailer(); h != nil {
|
||||
sort.Slice(h.Metadata.Entry, func(i, j int) bool { return h.Metadata.Entry[i].Key < h.Metadata.Entry[j].Key })
|
||||
|
@ -380,7 +380,6 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
|
||||
s.recvCompress = hf.Value
|
||||
case ":method":
|
||||
httpMethod = hf.Value
|
||||
mdata[":method"] = append(mdata[":method"], hf.Value)
|
||||
case ":path":
|
||||
s.method = hf.Value
|
||||
case "grpc-timeout":
|
||||
|
@ -7847,40 +7847,3 @@ func (s) TestStreamingServerInterceptorGetsConnection(t *testing.T) {
|
||||
t.Fatalf("ss.Client.StreamingInputCall(_) = _, %v, want _, %v", err, io.EOF)
|
||||
}
|
||||
}
|
||||
|
||||
func unaryInterceptorVerifyPost(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) {
|
||||
md, ok := metadata.FromIncomingContext(ctx)
|
||||
if !ok {
|
||||
return nil, status.Error(codes.NotFound, "metadata was not in context")
|
||||
}
|
||||
method := md.Get(":method")
|
||||
if len(method) != 1 {
|
||||
return nil, status.Error(codes.InvalidArgument, ":method value had more than one value")
|
||||
}
|
||||
if method[0] != "POST" {
|
||||
return nil, status.Error(codes.InvalidArgument, ":method value was not post")
|
||||
}
|
||||
return handler(ctx, req)
|
||||
}
|
||||
|
||||
// TestUnaryInterceptorGetsPost verifies that the server transport adds a
|
||||
// :method POST header to metadata, and that that added Header is visibile at
|
||||
// the grpc layer.
|
||||
func (s) TestUnaryInterceptorGetsPost(t *testing.T) {
|
||||
ss := &stubserver.StubServer{
|
||||
EmptyCallF: func(ctx context.Context, in *testpb.Empty) (*testpb.Empty, error) {
|
||||
return &testpb.Empty{}, nil
|
||||
},
|
||||
}
|
||||
if err := ss.Start([]grpc.ServerOption{grpc.UnaryInterceptor(unaryInterceptorVerifyPost)}); err != nil {
|
||||
t.Fatalf("Error starting endpoint server: %v", err)
|
||||
}
|
||||
defer ss.Stop()
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
|
||||
defer cancel()
|
||||
|
||||
if _, err := ss.Client.EmptyCall(ctx, &testpb.Empty{}); status.Code(err) != codes.OK {
|
||||
t.Fatalf("ss.Client.EmptyCall(_, _) = _, %v, want _, error code %s", err, codes.OK)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user