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 }