func TestAnnotateContext(t *testing.T) { ctx := context.Background() request, err := http.NewRequest("GET", "http://localhost", nil) if err != nil { t.Fatalf("http.NewRequest(%q, %q, nil) failed with %v; want success", "GET", "http://localhost", err) } request.Header.Add("Some-Irrelevant-Header", "some value") annotated := runtime.AnnotateContext(ctx, request) if annotated != ctx { t.Errorf("AnnotateContext(ctx, request) = %v; want %v", annotated, ctx) } request.Header.Add("Grpc-Metadata-FooBar", "Value1") request.Header.Add("Grpc-Metadata-Foo-BAZ", "Value2") request.Header.Add("Grpc-Metadata-foo-bAz", "Value3") request.Header.Add("Authorization", "Token 1234567890") annotated = runtime.AnnotateContext(ctx, request) md, ok := metadata.FromContext(annotated) if !ok || len(md) != 3 { t.Errorf("Expected 3 metadata items in context; got %v", md) } if got, want := md["foobar"], []string{"Value1"}; !reflect.DeepEqual(got, want) { t.Errorf(`md["foobar"] = %q; want %q`, got, want) } if got, want := md["foo-baz"], []string{"Value2", "Value3"}; !reflect.DeepEqual(got, want) { t.Errorf(`md["foo-baz"] = %q want %q`, got, want) } if got, want := md["authorization"], []string{"Token 1234567890"}; !reflect.DeepEqual(got, want) { t.Errorf(`md["authorization"] = %q want %q`, got, want) } }
// RegisterEchoServiceHandler registers the http handlers for service EchoService to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterEchoServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewEchoServiceClient(conn) mux.Handle("POST", pattern_EchoService_Echo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_EchoService_Echo_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_EchoService_Echo_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_EchoService_EchoBody_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_EchoService_EchoBody_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_EchoService_EchoBody_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) return nil }
// RegisterEchoServiceHandler registers the http handlers for service EchoService to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterEchoServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewEchoServiceClient(conn) mux.Handle("POST", pattern_EchoService_Echo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } resp, md, err := request_EchoService_Echo_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_EchoService_Echo_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_EchoService_EchoBody_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } resp, md, err := request_EchoService_EchoBody_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_EchoService_EchoBody_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) return nil }
func TestAnnotateContext_ForwardsGrpcMetadata(t *testing.T) { ctx := context.Background() request, err := http.NewRequest("GET", "http://www.example.com", nil) if err != nil { t.Fatalf("http.NewRequest(%q, %q, nil) failed with %v; want success", "GET", "http://www.example.com", err) } request.Header.Add("Some-Irrelevant-Header", "some value") request.Header.Add("Grpc-Metadata-FooBar", "Value1") request.Header.Add("Grpc-Metadata-Foo-BAZ", "Value2") request.Header.Add("Grpc-Metadata-foo-bAz", "Value3") request.Header.Add("Authorization", "Token 1234567890") annotated, err := runtime.AnnotateContext(ctx, request) if err != nil { t.Errorf("runtime.AnnotateContext(ctx, %#v) failed with %v; want success", request, err) return } md, ok := metadata.FromContext(annotated) if got, want := len(md), emptyForwardMetaCount+3; !ok || got != want { t.Errorf("Expected %d metadata items in context; got %d", got, want) } if got, want := md["foobar"], []string{"Value1"}; !reflect.DeepEqual(got, want) { t.Errorf(`md["foobar"] = %q; want %q`, got, want) } if got, want := md["foo-baz"], []string{"Value2", "Value3"}; !reflect.DeepEqual(got, want) { t.Errorf(`md["foo-baz"] = %q want %q`, got, want) } if got, want := md["authorization"], []string{"Token 1234567890"}; !reflect.DeepEqual(got, want) { t.Errorf(`md["authorization"] = %q want %q`, got, want) } }
// RegisterAPIHandler registers the http handlers for service API to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterAPIHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewAPIClient(conn) mux.Handle("GET", pattern_API_GetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_API_GetVersion_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_API_GetVersion_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) return nil }
func TestAnnotateContext_XForwardedFor(t *testing.T) { ctx := context.Background() request, err := http.NewRequest("GET", "http://bar.foo.example.com", nil) if err != nil { t.Fatalf("http.NewRequest(%q, %q, nil) failed with %v; want success", "GET", "http://bar.foo.example.com", err) } request.Header.Add("X-Forwarded-For", "192.0.2.100") // client request.RemoteAddr = "192.0.2.200:12345" // proxy annotated, err := runtime.AnnotateContext(ctx, request) if err != nil { t.Errorf("runtime.AnnotateContext(ctx, %#v) failed with %v; want success", request, err) return } md, ok := metadata.FromContext(annotated) if !ok || len(md) != emptyForwardMetaCount+1 { t.Errorf("Expected %d metadata items in context; got %v", emptyForwardMetaCount+1, md) } if got, want := md["x-forwarded-host"], []string{"bar.foo.example.com"}; !reflect.DeepEqual(got, want) { t.Errorf(`md["host"] = %v; want %v`, got, want) } // Note: it must be in order client, proxy1, proxy2 if got, want := md["x-forwarded-for"], []string{"192.0.2.100, 192.0.2.200"}; !reflect.DeepEqual(got, want) { t.Errorf(`md["x-forwarded-for"] = %v want %v`, got, want) } }
// RegisterEchoServiceHandler registers the http handlers for service EchoService to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterEchoServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewEchoServiceClient(conn) mux.Handle("POST", pattern_EchoService_Echo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_EchoService_Echo_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_EchoService_Echo_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_EchoService_EchoBody_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_EchoService_EchoBody_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_EchoService_EchoBody_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) return nil }
// RegisterSlackHandler registers the http handlers for service Slack to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterSlackHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewSlackClient(conn) mux.Handle("GET", pattern_Slack_Stats_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Methods", "GET, OPTIONS") w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization", ) resp, err := request_Slack_Stats_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Slack_Stats_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Slack_Invite_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Methods", "GET, OPTIONS") w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization", ) resp, err := request_Slack_Invite_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Slack_Invite_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) return nil }
func TestAnnotateContext(t *testing.T) { ctx := context.Background() request, _ := http.NewRequest("GET", "http://localhost", nil) request.Header = http.Header{} annotated := runtime.AnnotateContext(ctx, request) if annotated != ctx { t.Errorf("AnnotateContext(ctx, request) = %v; want %v", annotated, ctx) } request.Header.Add("Grpc-Metadata-FooBar", "Value1") request.Header.Add("Grpc-Metadata-Foo-BAZ", "Value2") annotated = runtime.AnnotateContext(ctx, request) md, ok := metadata.FromContext(annotated) if !ok || len(md) != 2 { t.Errorf("Expected 2 metadata items in context; got %v", md) } if md["Foobar"] != "Value1" { t.Errorf("md[\"Foobar\"] = %v; want %v", md["Foobar"], "Value1") } if md["Foo-Baz"] != "Value2" { t.Errorf("md[\"Foo-Baz\"] = %v want %v", md["Foo-Baz"], "Value2") } }
// RegisterAPIHandler registers the http handlers for service API to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterAPIHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewAPIClient(conn) mux.Handle("GET", pattern_API_GetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_GetVersion_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_GetVersion_0(ctx, w, req, resp) }) return nil }
func TestAnnotateContext_WorksWithEmpty(t *testing.T) { ctx := context.Background() request, err := http.NewRequest("GET", "http://www.example.com", nil) if err != nil { t.Fatalf("http.NewRequest(%q, %q, nil) failed with %v; want success", "GET", "http://www.example.com", err) } request.Header.Add("Some-Irrelevant-Header", "some value") annotated, err := runtime.AnnotateContext(ctx, request) if err != nil { t.Errorf("runtime.AnnotateContext(ctx, %#v) failed with %v; want success", request, err) return } md, ok := metadata.FromContext(annotated) if !ok || len(md) != emptyForwardMetaCount { t.Errorf("Expected %d metadata items in context; got %v", emptyForwardMetaCount, md) } }
// RegisterApiHandler registers the http handlers for service Api to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterApiHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewApiClient(conn) mux.Handle("POST", pattern_Api_InitRepository_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_InitRepository_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_InitRepository_0(ctx, w, req, resp) }) mux.Handle("GET", pattern_Api_ListRepositories_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_ListRepositories_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_ListRepositories_0(ctx, w, req, resp) }) mux.Handle("GET", pattern_Api_GetFile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_GetFile_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_GetFile_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }) }) mux.Handle("GET", pattern_Api_GetFileInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_GetFileInfo_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_GetFileInfo_0(ctx, w, req, resp) }) mux.Handle("POST", pattern_Api_MakeDirectory_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_MakeDirectory_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_MakeDirectory_0(ctx, w, req, resp) }) mux.Handle("POST", pattern_Api_PutFile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_PutFile_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_PutFile_0(ctx, w, req, resp) }) mux.Handle("GET", pattern_Api_ListFiles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_ListFiles_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_ListFiles_0(ctx, w, req, resp) }) mux.Handle("POST", pattern_Api_Branch_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_Branch_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_Branch_0(ctx, w, req, resp) }) mux.Handle("POST", pattern_Api_Write_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_Write_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_Write_0(ctx, w, req, resp) }) mux.Handle("POST", pattern_Api_GetCommitInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_GetCommitInfo_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_GetCommitInfo_0(ctx, w, req, resp) }) mux.Handle("GET", pattern_Api_ListCommits_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_Api_ListCommits_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_Api_ListCommits_0(ctx, w, req, resp) }) return nil }
// RegisterABitOfEverythingServiceHandler registers the http handlers for service ABitOfEverythingService to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterABitOfEverythingServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewABitOfEverythingServiceClient(conn) mux.Handle("POST", pattern_ABitOfEverythingService_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_Create_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_Create_0(ctx, w, req, resp) }) mux.Handle("POST", pattern_ABitOfEverythingService_CreateBody_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_CreateBody_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_CreateBody_0(ctx, w, req, resp) }) mux.Handle("POST", pattern_ABitOfEverythingService_BulkCreate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_BulkCreate_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_BulkCreate_0(ctx, w, req, resp) }) mux.Handle("GET", pattern_ABitOfEverythingService_Lookup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_Lookup_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_Lookup_0(ctx, w, req, resp) }) mux.Handle("GET", pattern_ABitOfEverythingService_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_List_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_List_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }) }) mux.Handle("PUT", pattern_ABitOfEverythingService_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_Update_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_Update_0(ctx, w, req, resp) }) mux.Handle("DELETE", pattern_ABitOfEverythingService_Delete_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_Delete_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_Delete_0(ctx, w, req, resp) }) mux.Handle("GET", pattern_ABitOfEverythingService_Echo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_Echo_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_Echo_0(ctx, w, req, resp) }) mux.Handle("POST", pattern_ABitOfEverythingService_Echo_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_Echo_1(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_Echo_1(ctx, w, req, resp) }) mux.Handle("GET", pattern_ABitOfEverythingService_Echo_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_Echo_2(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_Echo_2(ctx, w, req, resp) }) mux.Handle("POST", pattern_ABitOfEverythingService_BulkEcho_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_ABitOfEverythingService_BulkEcho_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_ABitOfEverythingService_BulkEcho_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }) }) return nil }
// RegisterABitOfEverythingServiceHandler registers the http handlers for service ABitOfEverythingService to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterABitOfEverythingServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewABitOfEverythingServiceClient(conn) mux.Handle("POST", pattern_ABitOfEverythingService_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_Create_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_Create_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_ABitOfEverythingService_CreateBody_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_CreateBody_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_CreateBody_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_ABitOfEverythingService_Lookup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_Lookup_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_Lookup_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("PUT", pattern_ABitOfEverythingService_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_Update_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_Update_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("DELETE", pattern_ABitOfEverythingService_Delete_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_Delete_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_Delete_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_ABitOfEverythingService_Echo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_Echo_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_Echo_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_ABitOfEverythingService_Echo_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_Echo_1(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_Echo_1(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_ABitOfEverythingService_Echo_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_Echo_2(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_Echo_2(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_ABitOfEverythingService_DeepPathEcho_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_DeepPathEcho_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_DeepPathEcho_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_ABitOfEverythingService_Timeout_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_ABitOfEverythingService_Timeout_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_ABitOfEverythingService_Timeout_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) return nil }
// RegisterFlowCombinationHandler registers the http handlers for service FlowCombination to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterFlowCombinationHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewFlowCombinationClient(conn) mux.Handle("POST", pattern_FlowCombination_RpcEmptyRpc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcEmptyRpc_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcEmptyRpc_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcEmptyStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcEmptyStream_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcEmptyStream_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_StreamEmptyRpc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_StreamEmptyRpc_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_StreamEmptyRpc_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_StreamEmptyStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_StreamEmptyStream_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_StreamEmptyStream_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyRpc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyRpc_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyRpc_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyRpc_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyRpc_1(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyRpc_1(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyRpc_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyRpc_2(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyRpc_2(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyRpc_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyRpc_3(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyRpc_3(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyRpc_4, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyRpc_4(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyRpc_4(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyRpc_5, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyRpc_5(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyRpc_5(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyRpc_6, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyRpc_6(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyRpc_6(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcPathSingleNestedRpc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcPathSingleNestedRpc_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcPathSingleNestedRpc_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcPathNestedRpc_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcPathNestedRpc_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcPathNestedRpc_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcPathNestedRpc_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcPathNestedRpc_1(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcPathNestedRpc_1(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcPathNestedRpc_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcPathNestedRpc_2(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcPathNestedRpc_2(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyStream_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyStream_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyStream_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyStream_1(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyStream_1(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyStream_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyStream_2(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyStream_2(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyStream_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyStream_3(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyStream_3(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyStream_4, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyStream_4(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyStream_4(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyStream_5, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyStream_5(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyStream_5(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcBodyStream_6, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcBodyStream_6(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcBodyStream_6(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcPathSingleNestedStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcPathSingleNestedStream_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcPathSingleNestedStream_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcPathNestedStream_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcPathNestedStream_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcPathNestedStream_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcPathNestedStream_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcPathNestedStream_1(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcPathNestedStream_1(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_FlowCombination_RpcPathNestedStream_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_FlowCombination_RpcPathNestedStream_2(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_FlowCombination_RpcPathNestedStream_2(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) return nil }
// RegisterAdminHandler registers the http handlers for service Admin to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterAdminHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewAdminClient(conn) mux.Handle("GET", pattern_Admin_Users_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_Users_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_Users_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Admin_Databases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_Databases_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_Databases_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Admin_DatabaseDetails_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_DatabaseDetails_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_DatabaseDetails_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Admin_TableDetails_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_TableDetails_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_TableDetails_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Admin_Events_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_Events_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_Events_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Admin_SetUIData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_SetUIData_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_SetUIData_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Admin_GetUIData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_GetUIData_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_GetUIData_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Admin_Cluster_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_Cluster_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_Cluster_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_Admin_Health_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_Health_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_Health_0(ctx, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Admin_Drain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_Drain_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_Drain_0(ctx, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_Admin_ClusterFreeze_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) defer cancel() if cn, ok := w.(http.CloseNotifier); ok { go func(done <-chan struct{}, closed <-chan bool) { select { case <-done: case <-closed: cancel() } }(ctx.Done(), cn.CloseNotify()) } inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateContext(ctx, req) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) } resp, md, err := request_Admin_ClusterFreeze_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, outboundMarshaler, w, req, err) return } forward_Admin_ClusterFreeze_0(ctx, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) return nil }
// RegisterAPIHandler registers the http handlers for service API to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterAPIHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewAPIClient(conn) mux.Handle("GET", pattern_API_GetAirport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_GetAirport_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_API_GetAirport_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_API_GetAirline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_GetAirline_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_API_GetAirline_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_API_GetRoutes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_GetRoutes_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_API_GetRoutes_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_API_GetDistance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_GetDistance_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_API_GetDistance_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_API_GetMiles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_GetMiles_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_API_GetMiles_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_API_GetMiles_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_GetMiles_1(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_API_GetMiles_1(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) return nil }
// RegisterABitOfEverythingServiceHandler registers the http handlers for service ABitOfEverythingService to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterABitOfEverythingServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewABitOfEverythingServiceClient(conn) mux.Handle("POST", pattern_ABitOfEverythingService_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_Create_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_Create_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_ABitOfEverythingService_CreateBody_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_CreateBody_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_CreateBody_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_ABitOfEverythingService_BulkCreate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_BulkCreate_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_BulkCreate_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_ABitOfEverythingService_Lookup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_Lookup_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_Lookup_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_ABitOfEverythingService_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_List_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_List_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) mux.Handle("PUT", pattern_ABitOfEverythingService_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_Update_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_Update_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("DELETE", pattern_ABitOfEverythingService_Delete_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_Delete_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_Delete_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_ABitOfEverythingService_Echo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_Echo_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_Echo_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_ABitOfEverythingService_Echo_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_Echo_1(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_Echo_1(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_ABitOfEverythingService_Echo_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_Echo_2(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_Echo_2(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_ABitOfEverythingService_BulkEcho_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(ctx) closeNotifier, ok := w.(http.CloseNotifier) if ok { go func() { <-closeNotifier.CloseNotify() cancel() }() } resp, err := request_ABitOfEverythingService_BulkEcho_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, req, err) return } forward_ABitOfEverythingService_BulkEcho_0(ctx, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) return nil }
// RegisterAPIHandler registers the http handlers for service API to "mux". // The handlers forward requests to the grpc endpoint over "conn". func RegisterAPIHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { client := NewAPIClient(conn) mux.Handle("POST", pattern_API_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_Create_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_Create_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_API_Remove_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_Remove_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_Remove_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_API_Path_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_Path_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_Path_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_API_Mount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_Mount_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_Mount_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("POST", pattern_API_Unmount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_Unmount_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_Unmount_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_API_Cleanup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_Cleanup_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_Cleanup_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_API_GetVolume_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_GetVolume_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_GetVolume_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) mux.Handle("GET", pattern_API_ListVolumes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { resp, err := request_API_ListVolumes_0(runtime.AnnotateContext(ctx, req), client, req, pathParams) if err != nil { runtime.HTTPError(ctx, w, err) return } forward_API_ListVolumes_0(ctx, w, req, resp, mux.GetForwardResponseOptions()...) }) return nil }
func TestAnnotateContext_SupportsTimeouts(t *testing.T) { ctx := context.Background() request, err := http.NewRequest("GET", "http://example.com", nil) if err != nil { t.Fatalf(`http.NewRequest("GET", "http://example.com", nil failed with %v; want success`, err) } annotated, err := runtime.AnnotateContext(ctx, request) if err != nil { t.Errorf("runtime.AnnotateContext(ctx, %#v) failed with %v; want success", request, err) return } if _, ok := annotated.Deadline(); ok { // no deadline by default t.Errorf("annotated.Deadline() = _, true; want _, false") } const acceptableError = 50 * time.Millisecond runtime.DefaultContextTimeout = 10 * time.Second annotated, err = runtime.AnnotateContext(ctx, request) if err != nil { t.Errorf("runtime.AnnotateContext(ctx, %#v) failed with %v; want success", request, err) return } deadline, ok := annotated.Deadline() if !ok { t.Errorf("annotated.Deadline() = _, false; want _, true") } if got, want := deadline.Sub(time.Now()), runtime.DefaultContextTimeout; got-want > acceptableError || got-want < -acceptableError { t.Errorf("deadline.Sub(time.Now()) = %v; want %v; with error %v", got, want, acceptableError) } for _, spec := range []struct { timeout string want time.Duration }{ { timeout: "17H", want: 17 * time.Hour, }, { timeout: "19M", want: 19 * time.Minute, }, { timeout: "23S", want: 23 * time.Second, }, { timeout: "1009m", want: 1009 * time.Millisecond, }, { timeout: "1000003u", want: 1000003 * time.Microsecond, }, { timeout: "100000007n", want: 100000007 * time.Nanosecond, }, } { request.Header.Set("Grpc-Timeout", spec.timeout) annotated, err = runtime.AnnotateContext(ctx, request) if err != nil { t.Errorf("runtime.AnnotateContext(ctx, %#v) failed with %v; want success", request, err) return } deadline, ok := annotated.Deadline() if !ok { t.Errorf("annotated.Deadline() = _, false; want _, true; timeout = %q", spec.timeout) } if got, want := deadline.Sub(time.Now()), spec.want; got-want > acceptableError || got-want < -acceptableError { t.Errorf("deadline.Sub(time.Now()) = %v; want %v; with error %v; timeout= %q", got, want, acceptableError, spec.timeout) } } }