github.com/qiniu/go-sdk/v7@v7.27.0/sandbox/internal/envdapi/process/processconnect/process.connect.go (about)

     1  // Code generated by protoc-gen-connect-go. DO NOT EDIT.
     2  //
     3  // Source: process/process.proto
     4  
     5  package processconnect
     6  
     7  import (
     8  	connect "connectrpc.com/connect"
     9  	context "context"
    10  	errors "errors"
    11  	process "github.com/qiniu/go-sdk/v7/sandbox/internal/envdapi/process"
    12  	http "net/http"
    13  	strings "strings"
    14  )
    15  
    16  // This is a compile-time assertion to ensure that this generated file and the connect package are
    17  // compatible. If you get a compiler error that this constant is not defined, this code was
    18  // generated with a version of connect newer than the one compiled into your binary. You can fix the
    19  // problem by either regenerating this code with an older version of connect or updating the connect
    20  // version compiled into your binary.
    21  const _ = connect.IsAtLeastVersion1_13_0
    22  
    23  const (
    24  	// ProcessName is the fully-qualified name of the Process service.
    25  	ProcessName = "process.Process"
    26  )
    27  
    28  // These constants are the fully-qualified names of the RPCs defined in this package. They're
    29  // exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
    30  //
    31  // Note that these are different from the fully-qualified method names used by
    32  // google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
    33  // reflection-formatted method names, remove the leading slash and convert the remaining slash to a
    34  // period.
    35  const (
    36  	// ProcessListProcedure is the fully-qualified name of the Process's List RPC.
    37  	ProcessListProcedure = "/process.Process/List"
    38  	// ProcessConnectProcedure is the fully-qualified name of the Process's Connect RPC.
    39  	ProcessConnectProcedure = "/process.Process/Connect"
    40  	// ProcessStartProcedure is the fully-qualified name of the Process's Start RPC.
    41  	ProcessStartProcedure = "/process.Process/Start"
    42  	// ProcessUpdateProcedure is the fully-qualified name of the Process's Update RPC.
    43  	ProcessUpdateProcedure = "/process.Process/Update"
    44  	// ProcessStreamInputProcedure is the fully-qualified name of the Process's StreamInput RPC.
    45  	ProcessStreamInputProcedure = "/process.Process/StreamInput"
    46  	// ProcessSendInputProcedure is the fully-qualified name of the Process's SendInput RPC.
    47  	ProcessSendInputProcedure = "/process.Process/SendInput"
    48  	// ProcessSendSignalProcedure is the fully-qualified name of the Process's SendSignal RPC.
    49  	ProcessSendSignalProcedure = "/process.Process/SendSignal"
    50  	// ProcessCloseStdinProcedure is the fully-qualified name of the Process's CloseStdin RPC.
    51  	ProcessCloseStdinProcedure = "/process.Process/CloseStdin"
    52  )
    53  
    54  // ProcessClient is a client for the process.Process service.
    55  type ProcessClient interface {
    56  	List(context.Context, *connect.Request[process.ListRequest]) (*connect.Response[process.ListResponse], error)
    57  	Connect(context.Context, *connect.Request[process.ConnectRequest]) (*connect.ServerStreamForClient[process.ConnectResponse], error)
    58  	Start(context.Context, *connect.Request[process.StartRequest]) (*connect.ServerStreamForClient[process.StartResponse], error)
    59  	Update(context.Context, *connect.Request[process.UpdateRequest]) (*connect.Response[process.UpdateResponse], error)
    60  	// Client input stream ensures ordering of messages
    61  	StreamInput(context.Context) *connect.ClientStreamForClient[process.StreamInputRequest, process.StreamInputResponse]
    62  	SendInput(context.Context, *connect.Request[process.SendInputRequest]) (*connect.Response[process.SendInputResponse], error)
    63  	SendSignal(context.Context, *connect.Request[process.SendSignalRequest]) (*connect.Response[process.SendSignalResponse], error)
    64  	// Close stdin to signal EOF to the process.
    65  	// Only works for non-PTY processes. For PTY, send Ctrl+D (0x04) instead.
    66  	CloseStdin(context.Context, *connect.Request[process.CloseStdinRequest]) (*connect.Response[process.CloseStdinResponse], error)
    67  }
    68  
    69  // NewProcessClient constructs a client for the process.Process service. By default, it uses the
    70  // Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends
    71  // uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or
    72  // connect.WithGRPCWeb() options.
    73  //
    74  // The URL supplied here should be the base URL for the Connect or gRPC server (for example,
    75  // http://api.acme.com or https://acme.com/grpc).
    76  func NewProcessClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ProcessClient {
    77  	baseURL = strings.TrimRight(baseURL, "/")
    78  	processMethods := process.File_process_process_proto.Services().ByName("Process").Methods()
    79  	return &processClient{
    80  		list: connect.NewClient[process.ListRequest, process.ListResponse](
    81  			httpClient,
    82  			baseURL+ProcessListProcedure,
    83  			connect.WithSchema(processMethods.ByName("List")),
    84  			connect.WithClientOptions(opts...),
    85  		),
    86  		connect: connect.NewClient[process.ConnectRequest, process.ConnectResponse](
    87  			httpClient,
    88  			baseURL+ProcessConnectProcedure,
    89  			connect.WithSchema(processMethods.ByName("Connect")),
    90  			connect.WithClientOptions(opts...),
    91  		),
    92  		start: connect.NewClient[process.StartRequest, process.StartResponse](
    93  			httpClient,
    94  			baseURL+ProcessStartProcedure,
    95  			connect.WithSchema(processMethods.ByName("Start")),
    96  			connect.WithClientOptions(opts...),
    97  		),
    98  		update: connect.NewClient[process.UpdateRequest, process.UpdateResponse](
    99  			httpClient,
   100  			baseURL+ProcessUpdateProcedure,
   101  			connect.WithSchema(processMethods.ByName("Update")),
   102  			connect.WithClientOptions(opts...),
   103  		),
   104  		streamInput: connect.NewClient[process.StreamInputRequest, process.StreamInputResponse](
   105  			httpClient,
   106  			baseURL+ProcessStreamInputProcedure,
   107  			connect.WithSchema(processMethods.ByName("StreamInput")),
   108  			connect.WithClientOptions(opts...),
   109  		),
   110  		sendInput: connect.NewClient[process.SendInputRequest, process.SendInputResponse](
   111  			httpClient,
   112  			baseURL+ProcessSendInputProcedure,
   113  			connect.WithSchema(processMethods.ByName("SendInput")),
   114  			connect.WithClientOptions(opts...),
   115  		),
   116  		sendSignal: connect.NewClient[process.SendSignalRequest, process.SendSignalResponse](
   117  			httpClient,
   118  			baseURL+ProcessSendSignalProcedure,
   119  			connect.WithSchema(processMethods.ByName("SendSignal")),
   120  			connect.WithClientOptions(opts...),
   121  		),
   122  		closeStdin: connect.NewClient[process.CloseStdinRequest, process.CloseStdinResponse](
   123  			httpClient,
   124  			baseURL+ProcessCloseStdinProcedure,
   125  			connect.WithSchema(processMethods.ByName("CloseStdin")),
   126  			connect.WithClientOptions(opts...),
   127  		),
   128  	}
   129  }
   130  
   131  // processClient implements ProcessClient.
   132  type processClient struct {
   133  	list        *connect.Client[process.ListRequest, process.ListResponse]
   134  	connect     *connect.Client[process.ConnectRequest, process.ConnectResponse]
   135  	start       *connect.Client[process.StartRequest, process.StartResponse]
   136  	update      *connect.Client[process.UpdateRequest, process.UpdateResponse]
   137  	streamInput *connect.Client[process.StreamInputRequest, process.StreamInputResponse]
   138  	sendInput   *connect.Client[process.SendInputRequest, process.SendInputResponse]
   139  	sendSignal  *connect.Client[process.SendSignalRequest, process.SendSignalResponse]
   140  	closeStdin  *connect.Client[process.CloseStdinRequest, process.CloseStdinResponse]
   141  }
   142  
   143  // List calls process.Process.List.
   144  func (c *processClient) List(ctx context.Context, req *connect.Request[process.ListRequest]) (*connect.Response[process.ListResponse], error) {
   145  	return c.list.CallUnary(ctx, req)
   146  }
   147  
   148  // Connect calls process.Process.Connect.
   149  func (c *processClient) Connect(ctx context.Context, req *connect.Request[process.ConnectRequest]) (*connect.ServerStreamForClient[process.ConnectResponse], error) {
   150  	return c.connect.CallServerStream(ctx, req)
   151  }
   152  
   153  // Start calls process.Process.Start.
   154  func (c *processClient) Start(ctx context.Context, req *connect.Request[process.StartRequest]) (*connect.ServerStreamForClient[process.StartResponse], error) {
   155  	return c.start.CallServerStream(ctx, req)
   156  }
   157  
   158  // Update calls process.Process.Update.
   159  func (c *processClient) Update(ctx context.Context, req *connect.Request[process.UpdateRequest]) (*connect.Response[process.UpdateResponse], error) {
   160  	return c.update.CallUnary(ctx, req)
   161  }
   162  
   163  // StreamInput calls process.Process.StreamInput.
   164  func (c *processClient) StreamInput(ctx context.Context) *connect.ClientStreamForClient[process.StreamInputRequest, process.StreamInputResponse] {
   165  	return c.streamInput.CallClientStream(ctx)
   166  }
   167  
   168  // SendInput calls process.Process.SendInput.
   169  func (c *processClient) SendInput(ctx context.Context, req *connect.Request[process.SendInputRequest]) (*connect.Response[process.SendInputResponse], error) {
   170  	return c.sendInput.CallUnary(ctx, req)
   171  }
   172  
   173  // SendSignal calls process.Process.SendSignal.
   174  func (c *processClient) SendSignal(ctx context.Context, req *connect.Request[process.SendSignalRequest]) (*connect.Response[process.SendSignalResponse], error) {
   175  	return c.sendSignal.CallUnary(ctx, req)
   176  }
   177  
   178  // CloseStdin calls process.Process.CloseStdin.
   179  func (c *processClient) CloseStdin(ctx context.Context, req *connect.Request[process.CloseStdinRequest]) (*connect.Response[process.CloseStdinResponse], error) {
   180  	return c.closeStdin.CallUnary(ctx, req)
   181  }
   182  
   183  // ProcessHandler is an implementation of the process.Process service.
   184  type ProcessHandler interface {
   185  	List(context.Context, *connect.Request[process.ListRequest]) (*connect.Response[process.ListResponse], error)
   186  	Connect(context.Context, *connect.Request[process.ConnectRequest], *connect.ServerStream[process.ConnectResponse]) error
   187  	Start(context.Context, *connect.Request[process.StartRequest], *connect.ServerStream[process.StartResponse]) error
   188  	Update(context.Context, *connect.Request[process.UpdateRequest]) (*connect.Response[process.UpdateResponse], error)
   189  	// Client input stream ensures ordering of messages
   190  	StreamInput(context.Context, *connect.ClientStream[process.StreamInputRequest]) (*connect.Response[process.StreamInputResponse], error)
   191  	SendInput(context.Context, *connect.Request[process.SendInputRequest]) (*connect.Response[process.SendInputResponse], error)
   192  	SendSignal(context.Context, *connect.Request[process.SendSignalRequest]) (*connect.Response[process.SendSignalResponse], error)
   193  	// Close stdin to signal EOF to the process.
   194  	// Only works for non-PTY processes. For PTY, send Ctrl+D (0x04) instead.
   195  	CloseStdin(context.Context, *connect.Request[process.CloseStdinRequest]) (*connect.Response[process.CloseStdinResponse], error)
   196  }
   197  
   198  // NewProcessHandler builds an HTTP handler from the service implementation. It returns the path on
   199  // which to mount the handler and the handler itself.
   200  //
   201  // By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
   202  // and JSON codecs. They also support gzip compression.
   203  func NewProcessHandler(svc ProcessHandler, opts ...connect.HandlerOption) (string, http.Handler) {
   204  	processMethods := process.File_process_process_proto.Services().ByName("Process").Methods()
   205  	processListHandler := connect.NewUnaryHandler(
   206  		ProcessListProcedure,
   207  		svc.List,
   208  		connect.WithSchema(processMethods.ByName("List")),
   209  		connect.WithHandlerOptions(opts...),
   210  	)
   211  	processConnectHandler := connect.NewServerStreamHandler(
   212  		ProcessConnectProcedure,
   213  		svc.Connect,
   214  		connect.WithSchema(processMethods.ByName("Connect")),
   215  		connect.WithHandlerOptions(opts...),
   216  	)
   217  	processStartHandler := connect.NewServerStreamHandler(
   218  		ProcessStartProcedure,
   219  		svc.Start,
   220  		connect.WithSchema(processMethods.ByName("Start")),
   221  		connect.WithHandlerOptions(opts...),
   222  	)
   223  	processUpdateHandler := connect.NewUnaryHandler(
   224  		ProcessUpdateProcedure,
   225  		svc.Update,
   226  		connect.WithSchema(processMethods.ByName("Update")),
   227  		connect.WithHandlerOptions(opts...),
   228  	)
   229  	processStreamInputHandler := connect.NewClientStreamHandler(
   230  		ProcessStreamInputProcedure,
   231  		svc.StreamInput,
   232  		connect.WithSchema(processMethods.ByName("StreamInput")),
   233  		connect.WithHandlerOptions(opts...),
   234  	)
   235  	processSendInputHandler := connect.NewUnaryHandler(
   236  		ProcessSendInputProcedure,
   237  		svc.SendInput,
   238  		connect.WithSchema(processMethods.ByName("SendInput")),
   239  		connect.WithHandlerOptions(opts...),
   240  	)
   241  	processSendSignalHandler := connect.NewUnaryHandler(
   242  		ProcessSendSignalProcedure,
   243  		svc.SendSignal,
   244  		connect.WithSchema(processMethods.ByName("SendSignal")),
   245  		connect.WithHandlerOptions(opts...),
   246  	)
   247  	processCloseStdinHandler := connect.NewUnaryHandler(
   248  		ProcessCloseStdinProcedure,
   249  		svc.CloseStdin,
   250  		connect.WithSchema(processMethods.ByName("CloseStdin")),
   251  		connect.WithHandlerOptions(opts...),
   252  	)
   253  	return "/process.Process/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
   254  		switch r.URL.Path {
   255  		case ProcessListProcedure:
   256  			processListHandler.ServeHTTP(w, r)
   257  		case ProcessConnectProcedure:
   258  			processConnectHandler.ServeHTTP(w, r)
   259  		case ProcessStartProcedure:
   260  			processStartHandler.ServeHTTP(w, r)
   261  		case ProcessUpdateProcedure:
   262  			processUpdateHandler.ServeHTTP(w, r)
   263  		case ProcessStreamInputProcedure:
   264  			processStreamInputHandler.ServeHTTP(w, r)
   265  		case ProcessSendInputProcedure:
   266  			processSendInputHandler.ServeHTTP(w, r)
   267  		case ProcessSendSignalProcedure:
   268  			processSendSignalHandler.ServeHTTP(w, r)
   269  		case ProcessCloseStdinProcedure:
   270  			processCloseStdinHandler.ServeHTTP(w, r)
   271  		default:
   272  			http.NotFound(w, r)
   273  		}
   274  	})
   275  }
   276  
   277  // UnimplementedProcessHandler returns CodeUnimplemented from all methods.
   278  type UnimplementedProcessHandler struct{}
   279  
   280  func (UnimplementedProcessHandler) List(context.Context, *connect.Request[process.ListRequest]) (*connect.Response[process.ListResponse], error) {
   281  	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("process.Process.List is not implemented"))
   282  }
   283  
   284  func (UnimplementedProcessHandler) Connect(context.Context, *connect.Request[process.ConnectRequest], *connect.ServerStream[process.ConnectResponse]) error {
   285  	return connect.NewError(connect.CodeUnimplemented, errors.New("process.Process.Connect is not implemented"))
   286  }
   287  
   288  func (UnimplementedProcessHandler) Start(context.Context, *connect.Request[process.StartRequest], *connect.ServerStream[process.StartResponse]) error {
   289  	return connect.NewError(connect.CodeUnimplemented, errors.New("process.Process.Start is not implemented"))
   290  }
   291  
   292  func (UnimplementedProcessHandler) Update(context.Context, *connect.Request[process.UpdateRequest]) (*connect.Response[process.UpdateResponse], error) {
   293  	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("process.Process.Update is not implemented"))
   294  }
   295  
   296  func (UnimplementedProcessHandler) StreamInput(context.Context, *connect.ClientStream[process.StreamInputRequest]) (*connect.Response[process.StreamInputResponse], error) {
   297  	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("process.Process.StreamInput is not implemented"))
   298  }
   299  
   300  func (UnimplementedProcessHandler) SendInput(context.Context, *connect.Request[process.SendInputRequest]) (*connect.Response[process.SendInputResponse], error) {
   301  	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("process.Process.SendInput is not implemented"))
   302  }
   303  
   304  func (UnimplementedProcessHandler) SendSignal(context.Context, *connect.Request[process.SendSignalRequest]) (*connect.Response[process.SendSignalResponse], error) {
   305  	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("process.Process.SendSignal is not implemented"))
   306  }
   307  
   308  func (UnimplementedProcessHandler) CloseStdin(context.Context, *connect.Request[process.CloseStdinRequest]) (*connect.Response[process.CloseStdinResponse], error) {
   309  	return nil, connect.NewError(connect.CodeUnimplemented, errors.New("process.Process.CloseStdin is not implemented"))
   310  }