Documentation
¶
Index ¶
- Constants
- Variables
- type Client
- func (_c Client) CacheLoad(ctx context.Context, relativeURL string) (res *http.Response, err error)
- func (_c Client) CacheStore(ctx context.Context, relativeURL string) (res *http.Response, err error)
- func (_c Client) DefaultQueue(ctx context.Context, relativeURL string) (res *http.Response, err error)
- func (_c Client) ForHost(host string) Client
- func (_c Client) Home(ctx context.Context, relativeURL string) (res *http.Response, err error)
- func (_c Client) NoQueue(ctx context.Context, relativeURL string) (res *http.Response, err error)
- func (_c Client) WithOptions(opts ...pub.Option) Client
- type Def
- type Executor
- func (_c Executor) ForHost(host string) Executor
- func (_c Executor) WithInputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithOptions(opts ...pub.Option) Executor
- func (_c Executor) WithOutputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
- type Hook
- type MulticastClient
- func (_c MulticastClient) CacheLoad(ctx context.Context, relativeURL string) iter.Seq[*pub.Response]
- func (_c MulticastClient) CacheStore(ctx context.Context, relativeURL string) iter.Seq[*pub.Response]
- func (_c MulticastClient) DefaultQueue(ctx context.Context, relativeURL string) iter.Seq[*pub.Response]
- func (_c MulticastClient) ForHost(host string) MulticastClient
- func (_c MulticastClient) Home(ctx context.Context, relativeURL string) iter.Seq[*pub.Response]
- func (_c MulticastClient) NoQueue(ctx context.Context, relativeURL string) iter.Seq[*pub.Response]
- func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
- type MulticastTrigger
- type WorkflowRunner
Constants ¶
const Hostname = "messaging.example"
Hostname is the default hostname of the microservice.
Variables ¶
var ( // HINT: Insert endpoint definitions here Home = Def{Method: "GET", Route: "/home"} // MARKER: Home NoQueue = Def{Method: "GET", Route: "/no-queue"} // MARKER: NoQueue DefaultQueue = Def{Method: "GET", Route: "/default-queue"} // MARKER: DefaultQueue CacheLoad = Def{Method: "GET", Route: "/cache-load"} // MARKER: CacheLoad CacheStore = Def{Method: "GET", Route: "/cache-store"} // MARKER: CacheStore )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a lightweight proxy for making unicast calls to the microservice.
func (Client) CacheLoad ¶
CacheLoad looks up an element in the distributed cache of the microservice.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (Client) CacheStore ¶
func (_c Client) CacheStore(ctx context.Context, relativeURL string) (res *http.Response, err error)
CacheStore stores an element in the distributed cache of the microservice.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (Client) DefaultQueue ¶
func (_c Client) DefaultQueue(ctx context.Context, relativeURL string) (res *http.Response, err error)
DefaultQueue demonstrates how the DefaultQueue subscription option is used to create a unicast request/response communication pattern. Only one of the instances of this microservice will respond to each request.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (Client) ForHost ¶
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (Client) Home ¶
Home demonstrates making requests using multicast and unicast request/response patterns.
If a URL is provided, it is resolved relative to the URL of the endpoint.
type Def ¶ added in v1.23.0
Def is the routing identity of an endpoint exposed by this microservice.
type Executor ¶ added in v1.26.0
type Executor struct {
// contains filtered or unexported fields
}
Executor runs tasks and workflows synchronously, blocking until termination. It is primarily intended for integration tests.
func NewExecutor ¶ added in v1.26.0
NewExecutor creates a new executor proxy to the microservice.
func (Executor) ForHost ¶ added in v1.26.0
ForHost returns a copy of the executor with a different hostname to be applied to requests.
func (Executor) WithInputFlow ¶ added in v1.26.0
WithInputFlow returns a copy of the executor with an input flow to use for task execution. The input flow's state is available to the task in addition to the typed input arguments.
func (Executor) WithOptions ¶ added in v1.26.0
WithOptions returns a copy of the executor with options to be applied to requests.
func (Executor) WithOutputFlow ¶ added in v1.26.0
WithOutputFlow returns a copy of the executor with an output flow to populate after task execution. The output flow captures the full flow state including control signals (Goto, Retry, Interrupt, Sleep).
func (Executor) WithWorkflowRunner ¶ added in v1.27.0
func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
WithWorkflowRunner returns a copy of the executor with a workflow runner for executing workflows. foremanapi.NewClient(svc) satisfies the WorkflowRunner interface.
type Hook ¶ added in v1.22.0
type Hook struct {
// contains filtered or unexported fields
}
Hook assists in the subscription to the events of the microservice.
func NewHook ¶ added in v1.22.0
func NewHook(listener service.Subscriber) Hook
NewHook creates a new hook to the events of the microservice.
type MulticastClient ¶
type MulticastClient struct {
// contains filtered or unexported fields
}
MulticastClient is a lightweight proxy for making multicast calls to the microservice.
func NewMulticastClient ¶
func NewMulticastClient(caller service.Publisher) MulticastClient
NewMulticastClient creates a new multicast client proxy to the microservice.
func (MulticastClient) CacheLoad ¶
func (_c MulticastClient) CacheLoad(ctx context.Context, relativeURL string) iter.Seq[*pub.Response]
CacheLoad looks up an element in the distributed cache of the microservice.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (MulticastClient) CacheStore ¶
func (_c MulticastClient) CacheStore(ctx context.Context, relativeURL string) iter.Seq[*pub.Response]
CacheStore stores an element in the distributed cache of the microservice.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (MulticastClient) DefaultQueue ¶
func (_c MulticastClient) DefaultQueue(ctx context.Context, relativeURL string) iter.Seq[*pub.Response]
DefaultQueue demonstrates how the DefaultQueue subscription option is used to create a unicast request/response communication pattern. Only one of the instances of this microservice will respond to each request.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (MulticastClient) ForHost ¶
func (_c MulticastClient) ForHost(host string) MulticastClient
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (MulticastClient) Home ¶
Home demonstrates making requests using multicast and unicast request/response patterns.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (MulticastClient) NoQueue ¶
NoQueue demonstrates how the NoQueue subscription option is used to create a multicast request/response communication pattern. All instances of this microservice will respond to each request.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (MulticastClient) WithOptions ¶ added in v1.13.1
func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
WithOptions returns a copy of the client with options to be applied to requests.
type MulticastTrigger ¶ added in v1.22.0
type MulticastTrigger struct {
// contains filtered or unexported fields
}
MulticastTrigger is a lightweight proxy for triggering the events of the microservice.
func NewMulticastTrigger ¶ added in v1.22.0
func NewMulticastTrigger(caller service.Publisher) MulticastTrigger
NewMulticastTrigger creates a new multicast trigger of events of the microservice.
func (MulticastTrigger) ForHost ¶ added in v1.22.0
func (_c MulticastTrigger) ForHost(host string) MulticastTrigger
ForHost returns a copy of the trigger with a different hostname to be applied to requests.
func (MulticastTrigger) WithOptions ¶ added in v1.22.0
func (_c MulticastTrigger) WithOptions(opts ...pub.Option) MulticastTrigger
WithOptions returns a copy of the trigger with options to be applied to requests.
type WorkflowRunner ¶ added in v1.27.0
type WorkflowRunner interface {
Run(ctx context.Context, workflowName string, initialState any) (status string, state map[string]any, err error)
}
WorkflowRunner executes a workflow by name with initial state, blocking until termination. foremanapi.Client satisfies this interface.