Skip to content

Commit

Permalink
Revert "transport/server: add :method POST to incoming metadata (grpc…
Browse files Browse the repository at this point in the history
…#4770)"

This reverts commit c84a5de.
  • Loading branch information
dfawley committed Sep 21, 2021
1 parent 5417cf8 commit 96cccc5
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 54 deletions.
16 changes: 0 additions & 16 deletions binarylog/binarylog_end2end_test.go
Expand Up @@ -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 })
Expand Down
1 change: 0 additions & 1 deletion internal/transport/http2_server.go
Expand Up @@ -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":
Expand Down
37 changes: 0 additions & 37 deletions test/end2end_test.go
Expand Up @@ -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)
}
}

0 comments on commit 96cccc5

Please sign in to comment.