This repository has been archived by the owner on Mar 17, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
workflow.connect.go
129 lines (113 loc) · 5.91 KB
/
workflow.connect.go
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
// Code generated by protoc-gen-sqnc. DO NOT EDIT.
//
// Source: workflow.proto
package sequence
import (
context "context"
errors "errors"
connect_go "github.com/bufbuild/connect-go"
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_go.IsAtLeastVersion0_1_0
const (
// WorkflowServiceName is the fully-qualified name of the WorkflowService service.
WorkflowServiceName = "sequence.WorkflowService"
)
// WorkflowServiceClient is a client for the sequence.WorkflowService service.
type WorkflowServiceClient interface {
RunStep(context.Context, *connect_go.Request[RunStepRequest]) (*connect_go.ServerStreamForClient[RunStepResponse], error)
RunJob(context.Context, *connect_go.Request[RunJobRequest]) (*connect_go.ServerStreamForClient[RunJobResponse], error)
RunWorkflow(context.Context, *connect_go.Request[RunWorkflowRequest]) (*connect_go.ServerStreamForClient[RunWorkflowResponse], error)
}
// NewWorkflowServiceClient constructs a client for the sequence.WorkflowService 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 NewWorkflowServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) WorkflowServiceClient {
baseURL = strings.TrimRight(baseURL, "/")
return &workflowServiceClient{
runStep: connect_go.NewClient[RunStepRequest, RunStepResponse](
httpClient,
baseURL+"/sequence.WorkflowService/RunStep",
opts...,
),
runJob: connect_go.NewClient[RunJobRequest, RunJobResponse](
httpClient,
baseURL+"/sequence.WorkflowService/RunJob",
opts...,
),
runWorkflow: connect_go.NewClient[RunWorkflowRequest, RunWorkflowResponse](
httpClient,
baseURL+"/sequence.WorkflowService/RunWorkflow",
opts...,
),
}
}
// workflowServiceClient implements WorkflowServiceClient.
type workflowServiceClient struct {
runStep *connect_go.Client[RunStepRequest, RunStepResponse]
runJob *connect_go.Client[RunJobRequest, RunJobResponse]
runWorkflow *connect_go.Client[RunWorkflowRequest, RunWorkflowResponse]
}
// RunStep calls sequence.WorkflowService.RunStep.
func (c *workflowServiceClient) RunStep(ctx context.Context, req *connect_go.Request[RunStepRequest]) (*connect_go.ServerStreamForClient[RunStepResponse], error) {
return c.runStep.CallServerStream(ctx, req)
}
// RunJob calls sequence.WorkflowService.RunJob.
func (c *workflowServiceClient) RunJob(ctx context.Context, req *connect_go.Request[RunJobRequest]) (*connect_go.ServerStreamForClient[RunJobResponse], error) {
return c.runJob.CallServerStream(ctx, req)
}
// RunWorkflow calls sequence.WorkflowService.RunWorkflow.
func (c *workflowServiceClient) RunWorkflow(ctx context.Context, req *connect_go.Request[RunWorkflowRequest]) (*connect_go.ServerStreamForClient[RunWorkflowResponse], error) {
return c.runWorkflow.CallServerStream(ctx, req)
}
// WorkflowServiceHandler is an implementation of the sequence.WorkflowService service.
type WorkflowServiceHandler interface {
RunStep(context.Context, *connect_go.Request[RunStepRequest], *connect_go.ServerStream[RunStepResponse]) error
RunJob(context.Context, *connect_go.Request[RunJobRequest], *connect_go.ServerStream[RunJobResponse]) error
RunWorkflow(context.Context, *connect_go.Request[RunWorkflowRequest], *connect_go.ServerStream[RunWorkflowResponse]) error
}
// NewWorkflowServiceHandler 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 NewWorkflowServiceHandler(svc WorkflowServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler) {
mux := http.NewServeMux()
mux.Handle("/sequence.WorkflowService/RunStep", connect_go.NewServerStreamHandler(
"/sequence.WorkflowService/RunStep",
svc.RunStep,
opts...,
))
mux.Handle("/sequence.WorkflowService/RunJob", connect_go.NewServerStreamHandler(
"/sequence.WorkflowService/RunJob",
svc.RunJob,
opts...,
))
mux.Handle("/sequence.WorkflowService/RunWorkflow", connect_go.NewServerStreamHandler(
"/sequence.WorkflowService/RunWorkflow",
svc.RunWorkflow,
opts...,
))
return "/sequence.WorkflowService/", mux
}
// UnimplementedWorkflowServiceHandler returns CodeUnimplemented from all methods.
type UnimplementedWorkflowServiceHandler struct{}
func (UnimplementedWorkflowServiceHandler) RunStep(context.Context, *connect_go.Request[RunStepRequest], *connect_go.ServerStream[RunStepResponse]) error {
return connect_go.NewError(connect_go.CodeUnimplemented, errors.New("sequence.WorkflowService.RunStep is not implemented"))
}
func (UnimplementedWorkflowServiceHandler) RunJob(context.Context, *connect_go.Request[RunJobRequest], *connect_go.ServerStream[RunJobResponse]) error {
return connect_go.NewError(connect_go.CodeUnimplemented, errors.New("sequence.WorkflowService.RunJob is not implemented"))
}
func (UnimplementedWorkflowServiceHandler) RunWorkflow(context.Context, *connect_go.Request[RunWorkflowRequest], *connect_go.ServerStream[RunWorkflowResponse]) error {
return connect_go.NewError(connect_go.CodeUnimplemented, errors.New("sequence.WorkflowService.RunWorkflow is not implemented"))
}