1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
|
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
//
// Source: svc/feature/v1/service.proto
package featurev1connect
import (
connect "connectrpc.com/connect"
context "context"
errors "errors"
v1 "github.com/humanlogio/api/go/svc/feature/v1"
http "net/http"
strings "strings"
)
// 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.IsAtLeastVersion1_13_0
const (
// FeatureServiceName is the fully-qualified name of the FeatureService service.
FeatureServiceName = "svc.feature.v1.FeatureService"
)
// 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 (
// FeatureServiceHasFeatureProcedure is the fully-qualified name of the FeatureService's HasFeature
// RPC.
FeatureServiceHasFeatureProcedure = "/svc.feature.v1.FeatureService/HasFeature"
// FeatureServiceListFeatureProcedure is the fully-qualified name of the FeatureService's
// ListFeature RPC.
FeatureServiceListFeatureProcedure = "/svc.feature.v1.FeatureService/ListFeature"
// FeatureServiceAllowedUsageProcedure is the fully-qualified name of the FeatureService's
// AllowedUsage RPC.
FeatureServiceAllowedUsageProcedure = "/svc.feature.v1.FeatureService/AllowedUsage"
)
// FeatureServiceClient is a client for the svc.feature.v1.FeatureService service.
type FeatureServiceClient interface {
HasFeature(context.Context, *connect.Request[v1.HasFeatureRequest]) (*connect.Response[v1.HasFeatureResponse], error)
ListFeature(context.Context, *connect.Request[v1.ListFeatureRequest]) (*connect.Response[v1.ListFeatureResponse], error)
AllowedUsage(context.Context, *connect.Request[v1.AllowedUsageRequest]) (*connect.Response[v1.AllowedUsageResponse], error)
}
// NewFeatureServiceClient constructs a client for the svc.feature.v1.FeatureService 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 NewFeatureServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) FeatureServiceClient {
baseURL = strings.TrimRight(baseURL, "/")
featureServiceMethods := v1.File_svc_feature_v1_service_proto.Services().ByName("FeatureService").Methods()
return &featureServiceClient{
hasFeature: connect.NewClient[v1.HasFeatureRequest, v1.HasFeatureResponse](
httpClient,
baseURL+FeatureServiceHasFeatureProcedure,
connect.WithSchema(featureServiceMethods.ByName("HasFeature")),
connect.WithClientOptions(opts...),
),
listFeature: connect.NewClient[v1.ListFeatureRequest, v1.ListFeatureResponse](
httpClient,
baseURL+FeatureServiceListFeatureProcedure,
connect.WithSchema(featureServiceMethods.ByName("ListFeature")),
connect.WithClientOptions(opts...),
),
allowedUsage: connect.NewClient[v1.AllowedUsageRequest, v1.AllowedUsageResponse](
httpClient,
baseURL+FeatureServiceAllowedUsageProcedure,
connect.WithSchema(featureServiceMethods.ByName("AllowedUsage")),
connect.WithClientOptions(opts...),
),
}
}
// featureServiceClient implements FeatureServiceClient.
type featureServiceClient struct {
hasFeature *connect.Client[v1.HasFeatureRequest, v1.HasFeatureResponse]
listFeature *connect.Client[v1.ListFeatureRequest, v1.ListFeatureResponse]
allowedUsage *connect.Client[v1.AllowedUsageRequest, v1.AllowedUsageResponse]
}
// HasFeature calls svc.feature.v1.FeatureService.HasFeature.
func (c *featureServiceClient) HasFeature(ctx context.Context, req *connect.Request[v1.HasFeatureRequest]) (*connect.Response[v1.HasFeatureResponse], error) {
return c.hasFeature.CallUnary(ctx, req)
}
// ListFeature calls svc.feature.v1.FeatureService.ListFeature.
func (c *featureServiceClient) ListFeature(ctx context.Context, req *connect.Request[v1.ListFeatureRequest]) (*connect.Response[v1.ListFeatureResponse], error) {
return c.listFeature.CallUnary(ctx, req)
}
// AllowedUsage calls svc.feature.v1.FeatureService.AllowedUsage.
func (c *featureServiceClient) AllowedUsage(ctx context.Context, req *connect.Request[v1.AllowedUsageRequest]) (*connect.Response[v1.AllowedUsageResponse], error) {
return c.allowedUsage.CallUnary(ctx, req)
}
// FeatureServiceHandler is an implementation of the svc.feature.v1.FeatureService service.
type FeatureServiceHandler interface {
HasFeature(context.Context, *connect.Request[v1.HasFeatureRequest]) (*connect.Response[v1.HasFeatureResponse], error)
ListFeature(context.Context, *connect.Request[v1.ListFeatureRequest]) (*connect.Response[v1.ListFeatureResponse], error)
AllowedUsage(context.Context, *connect.Request[v1.AllowedUsageRequest]) (*connect.Response[v1.AllowedUsageResponse], error)
}
// NewFeatureServiceHandler 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 NewFeatureServiceHandler(svc FeatureServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
featureServiceMethods := v1.File_svc_feature_v1_service_proto.Services().ByName("FeatureService").Methods()
featureServiceHasFeatureHandler := connect.NewUnaryHandler(
FeatureServiceHasFeatureProcedure,
svc.HasFeature,
connect.WithSchema(featureServiceMethods.ByName("HasFeature")),
connect.WithHandlerOptions(opts...),
)
featureServiceListFeatureHandler := connect.NewUnaryHandler(
FeatureServiceListFeatureProcedure,
svc.ListFeature,
connect.WithSchema(featureServiceMethods.ByName("ListFeature")),
connect.WithHandlerOptions(opts...),
)
featureServiceAllowedUsageHandler := connect.NewUnaryHandler(
FeatureServiceAllowedUsageProcedure,
svc.AllowedUsage,
connect.WithSchema(featureServiceMethods.ByName("AllowedUsage")),
connect.WithHandlerOptions(opts...),
)
return "/svc.feature.v1.FeatureService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
switch r.URL.Path {
case FeatureServiceHasFeatureProcedure:
featureServiceHasFeatureHandler.ServeHTTP(w, r)
case FeatureServiceListFeatureProcedure:
featureServiceListFeatureHandler.ServeHTTP(w, r)
case FeatureServiceAllowedUsageProcedure:
featureServiceAllowedUsageHandler.ServeHTTP(w, r)
default:
http.NotFound(w, r)
}
})
}
// UnimplementedFeatureServiceHandler returns CodeUnimplemented from all methods.
type UnimplementedFeatureServiceHandler struct{}
func (UnimplementedFeatureServiceHandler) HasFeature(context.Context, *connect.Request[v1.HasFeatureRequest]) (*connect.Response[v1.HasFeatureResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.feature.v1.FeatureService.HasFeature is not implemented"))
}
func (UnimplementedFeatureServiceHandler) ListFeature(context.Context, *connect.Request[v1.ListFeatureRequest]) (*connect.Response[v1.ListFeatureResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.feature.v1.FeatureService.ListFeature is not implemented"))
}
func (UnimplementedFeatureServiceHandler) AllowedUsage(context.Context, *connect.Request[v1.AllowedUsageRequest]) (*connect.Response[v1.AllowedUsageResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("svc.feature.v1.FeatureService.AllowedUsage is not implemented"))
}
|