| // Licensed to the Apache Software Foundation (ASF) under one or more |
| // contributor license agreements. See the NOTICE file distributed with |
| // this work for additional information regarding copyright ownership. |
| // The ASF licenses this file to You under the Apache License, Version 2.0 |
| // (the "License"); you may not use this file except in compliance with |
| // the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Code generated by protoc-gen-connect-go. DO NOT EDIT. |
| // |
| // Source: registry/v1alpha1/push.proto |
| |
| package registryv1alpha1v1alpha1connect |
| |
| import ( |
| context "context" |
| errors "errors" |
| http "net/http" |
| strings "strings" |
| ) |
| |
| import ( |
| connect_go "github.com/bufbuild/connect-go" |
| ) |
| |
| import ( |
| v1alpha1 "github.com/apache/dubbo-kubernetes/pkg/bufman/gen/proto/go/registry/v1alpha1" |
| ) |
| |
| // This is a compile-time assertion to ensure that this generated file and the connect package are |
| // compatible. If you get a compiler error that this constant is not defined, this code was |
| // generated with a version of connect newer than the one compiled into your binary. You can fix the |
| // problem by either regenerating this code with an older version of connect or updating the connect |
| // version compiled into your binary. |
| const _ = connect_go.IsAtLeastVersion1_7_0 |
| |
| const ( |
| // PushServiceName is the fully-qualified name of the PushService service. |
| PushServiceName = "bufman.dubbo.apache.org.registry.v1alpha1.PushService" |
| ) |
| |
| // These constants are the fully-qualified names of the RPCs defined in this package. They're |
| // exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. |
| // |
| // Note that these are different from the fully-qualified method names used by |
| // google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to |
| // reflection-formatted method names, remove the leading slash and convert the remaining slash to a |
| // period. |
| const ( |
| // PushServicePushProcedure is the fully-qualified name of the PushService's Push RPC. |
| PushServicePushProcedure = "/bufman.dubbo.apache.org.registry.v1alpha1.PushService/Push" |
| // PushServicePushManifestAndBlobsProcedure is the fully-qualified name of the PushService's |
| // PushManifestAndBlobs RPC. |
| PushServicePushManifestAndBlobsProcedure = "/bufman.dubbo.apache.org.registry.v1alpha1.PushService/PushManifestAndBlobs" |
| ) |
| |
| // PushServiceClient is a client for the |
| // bufman.dubbo.apache.org.registry.v1alpha1.PushService service. |
| type PushServiceClient interface { |
| // Push pushes. |
| // NOTE: Newer clients should use PushManifestAndBlobs. |
| Push(context.Context, *connect_go.Request[v1alpha1.PushRequest]) (*connect_go.Response[v1alpha1.PushResponse], error) |
| // PushManifestAndBlobs pushes a module by encoding it in a manifest and blobs format. |
| PushManifestAndBlobs(context.Context, *connect_go.Request[v1alpha1.PushManifestAndBlobsRequest]) (*connect_go.Response[v1alpha1.PushManifestAndBlobsResponse], error) |
| } |
| |
| // NewPushServiceClient constructs a client for the |
| // bufman.dubbo.apache.org.registry.v1alpha1.PushService service. By default, it uses the |
| // Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends |
| // uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or |
| // connect.WithGRPCWeb() options. |
| // |
| // The URL supplied here should be the base URL for the Connect or gRPC server (for example, |
| // http://api.acme.com or https://acme.com/grpc). |
| func NewPushServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) PushServiceClient { |
| baseURL = strings.TrimRight(baseURL, "/") |
| return &pushServiceClient{ |
| push: connect_go.NewClient[v1alpha1.PushRequest, v1alpha1.PushResponse]( |
| httpClient, |
| baseURL+PushServicePushProcedure, |
| connect_go.WithIdempotency(connect_go.IdempotencyIdempotent), |
| connect_go.WithClientOptions(opts...), |
| ), |
| pushManifestAndBlobs: connect_go.NewClient[v1alpha1.PushManifestAndBlobsRequest, v1alpha1.PushManifestAndBlobsResponse]( |
| httpClient, |
| baseURL+PushServicePushManifestAndBlobsProcedure, |
| connect_go.WithIdempotency(connect_go.IdempotencyIdempotent), |
| connect_go.WithClientOptions(opts...), |
| ), |
| } |
| } |
| |
| // pushServiceClient implements PushServiceClient. |
| type pushServiceClient struct { |
| push *connect_go.Client[v1alpha1.PushRequest, v1alpha1.PushResponse] |
| pushManifestAndBlobs *connect_go.Client[v1alpha1.PushManifestAndBlobsRequest, v1alpha1.PushManifestAndBlobsResponse] |
| } |
| |
| // Push calls bufman.dubbo.apache.org.registry.v1alpha1.PushService.Push. |
| func (c *pushServiceClient) Push(ctx context.Context, req *connect_go.Request[v1alpha1.PushRequest]) (*connect_go.Response[v1alpha1.PushResponse], error) { |
| return c.push.CallUnary(ctx, req) |
| } |
| |
| // PushManifestAndBlobs calls |
| // bufman.dubbo.apache.org.registry.v1alpha1.PushService.PushManifestAndBlobs. |
| func (c *pushServiceClient) PushManifestAndBlobs(ctx context.Context, req *connect_go.Request[v1alpha1.PushManifestAndBlobsRequest]) (*connect_go.Response[v1alpha1.PushManifestAndBlobsResponse], error) { |
| return c.pushManifestAndBlobs.CallUnary(ctx, req) |
| } |
| |
| // PushServiceHandler is an implementation of the |
| // bufman.dubbo.apache.org.registry.v1alpha1.PushService service. |
| type PushServiceHandler interface { |
| // Push pushes. |
| // NOTE: Newer clients should use PushManifestAndBlobs. |
| Push(context.Context, *connect_go.Request[v1alpha1.PushRequest]) (*connect_go.Response[v1alpha1.PushResponse], error) |
| // PushManifestAndBlobs pushes a module by encoding it in a manifest and blobs format. |
| PushManifestAndBlobs(context.Context, *connect_go.Request[v1alpha1.PushManifestAndBlobsRequest]) (*connect_go.Response[v1alpha1.PushManifestAndBlobsResponse], error) |
| } |
| |
| // NewPushServiceHandler builds an HTTP handler from the service implementation. It returns the path |
| // on which to mount the handler and the handler itself. |
| // |
| // By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf |
| // and JSON codecs. They also support gzip compression. |
| func NewPushServiceHandler(svc PushServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler) { |
| pushServicePushHandler := connect_go.NewUnaryHandler( |
| PushServicePushProcedure, |
| svc.Push, |
| connect_go.WithIdempotency(connect_go.IdempotencyIdempotent), |
| connect_go.WithHandlerOptions(opts...), |
| ) |
| pushServicePushManifestAndBlobsHandler := connect_go.NewUnaryHandler( |
| PushServicePushManifestAndBlobsProcedure, |
| svc.PushManifestAndBlobs, |
| connect_go.WithIdempotency(connect_go.IdempotencyIdempotent), |
| connect_go.WithHandlerOptions(opts...), |
| ) |
| return "/bufman.dubbo.apache.org.registry.v1alpha1.PushService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| switch r.URL.Path { |
| case PushServicePushProcedure: |
| pushServicePushHandler.ServeHTTP(w, r) |
| case PushServicePushManifestAndBlobsProcedure: |
| pushServicePushManifestAndBlobsHandler.ServeHTTP(w, r) |
| default: |
| http.NotFound(w, r) |
| } |
| }) |
| } |
| |
| // UnimplementedPushServiceHandler returns CodeUnimplemented from all methods. |
| type UnimplementedPushServiceHandler struct{} |
| |
| func (UnimplementedPushServiceHandler) Push(context.Context, *connect_go.Request[v1alpha1.PushRequest]) (*connect_go.Response[v1alpha1.PushResponse], error) { |
| return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("bufman.dubbo.apache.org.registry.v1alpha1.PushService.Push is not implemented")) |
| } |
| |
| func (UnimplementedPushServiceHandler) PushManifestAndBlobs(context.Context, *connect_go.Request[v1alpha1.PushManifestAndBlobsRequest]) (*connect_go.Response[v1alpha1.PushManifestAndBlobsResponse], error) { |
| return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("bufman.dubbo.apache.org.registry.v1alpha1.PushService.PushManifestAndBlobs is not implemented")) |
| } |