Documentation
¶
Overview ¶
Package helloapi implements the public API of the hello.example microservice, including clients and data structures.
The Hello microservice demonstrates the various capabilities of a microservice.
Index ¶
- Constants
- Variables
- type Client
- func (_c Client) BusPNG(ctx context.Context, relURL string) (res *http.Response, err error)
- func (_c Client) Calculator(ctx context.Context, method string, relURL string, contentType string, ...) (res *http.Response, err error)
- func (_c Client) Echo(ctx context.Context, method string, relURL string, contentType string, ...) (res *http.Response, err error)
- func (_c Client) ForHost(host string) Client
- func (_c Client) Hello(ctx context.Context, method string, relURL string, contentType string, ...) (res *http.Response, err error)
- func (_c Client) Localization(ctx context.Context, method string, relURL string, contentType string, ...) (res *http.Response, err error)
- func (_c Client) Ping(ctx context.Context, method string, relURL string, contentType string, ...) (res *http.Response, err error)
- func (_c Client) Root(ctx context.Context, method string, relURL string, contentType string, ...) (res *http.Response, err error)
- func (_c Client) WithOptions(opts ...pub.Option) Client
- type MulticastClient
- func (_c MulticastClient) BusPNG(ctx context.Context, relURL string) <-chan *pub.Response
- func (_c MulticastClient) Calculator(ctx context.Context, method string, relURL string, contentType string, ...) <-chan *pub.Response
- func (_c MulticastClient) Echo(ctx context.Context, method string, relURL string, contentType string, ...) <-chan *pub.Response
- func (_c MulticastClient) ForHost(host string) MulticastClient
- func (_c MulticastClient) Hello(ctx context.Context, method string, relURL string, contentType string, ...) <-chan *pub.Response
- func (_c MulticastClient) Localization(ctx context.Context, method string, relURL string, contentType string, ...) <-chan *pub.Response
- func (_c MulticastClient) Ping(ctx context.Context, method string, relURL string, contentType string, ...) <-chan *pub.Response
- func (_c MulticastClient) Root(ctx context.Context, method string, relURL string, contentType string, ...) <-chan *pub.Response
- func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
Constants ¶
const Hostname = "hello.example"
Hostname is the default hostname of the microservice: hello.example.
Variables ¶
var ( URLOfHello = httpx.JoinHostAndPath(Hostname, `:443/hello`) URLOfEcho = httpx.JoinHostAndPath(Hostname, `:443/echo`) URLOfPing = httpx.JoinHostAndPath(Hostname, `:443/ping`) URLOfCalculator = httpx.JoinHostAndPath(Hostname, `:443/calculator`) URLOfBusPNG = httpx.JoinHostAndPath(Hostname, `:443/bus.png`) URLOfLocalization = httpx.JoinHostAndPath(Hostname, `:443/localization`) URLOfRoot = httpx.JoinHostAndPath(Hostname, `//root`) )
Fully-qualified URLs of the microservice's endpoints.
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 hello.example microservice.
func (Client) BusPNG ¶
BusPNG serves an image from the embedded resources.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (Client) Calculator ¶
func (_c Client) Calculator(ctx context.Context, method string, relURL string, contentType string, body any) (res *http.Response, err error)
Calculator renders a UI for a calculator. The calculation operation is delegated to another microservice in order to demonstrate a call from one microservice to another.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (Client) Echo ¶
func (_c Client) Echo(ctx context.Context, method string, relURL string, contentType string, body any) (res *http.Response, err error)
Echo back the incoming request in wire format.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (Client) ForHost ¶
ForHost returns a copy of the client with a different hostname to be applied to requests.
func (Client) Hello ¶
func (_c Client) Hello(ctx context.Context, method string, relURL string, contentType string, body any) (res *http.Response, err error)
Hello prints a greeting.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (Client) Localization ¶
func (_c Client) Localization(ctx context.Context, method string, relURL string, contentType string, body any) (res *http.Response, err error)
Localization prints hello in the language best matching the request's Accept-Language header.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (Client) Ping ¶
func (_c Client) Ping(ctx context.Context, method string, relURL string, contentType string, body any) (res *http.Response, err error)
Ping all microservices and list them.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (Client) Root ¶
func (_c Client) Root(ctx context.Context, method string, relURL string, contentType string, body any) (res *http.Response, err error)
Root is the top-most root page.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
type MulticastClient ¶
type MulticastClient struct {
// contains filtered or unexported fields
}
MulticastClient is a lightweight proxy for making multicast calls to the hello.example microservice.
func NewMulticastClient ¶
func NewMulticastClient(caller service.Publisher) MulticastClient
NewMulticastClient creates a new multicast client proxy to the hello.example microservice.
func (MulticastClient) BusPNG ¶
BusPNG serves an image from the embedded resources.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (MulticastClient) Calculator ¶
func (_c MulticastClient) Calculator(ctx context.Context, method string, relURL string, contentType string, body any) <-chan *pub.Response
Calculator renders a UI for a calculator. The calculation operation is delegated to another microservice in order to demonstrate a call from one microservice to another.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (MulticastClient) Echo ¶
func (_c MulticastClient) Echo(ctx context.Context, method string, relURL string, contentType string, body any) <-chan *pub.Response
Echo back the incoming request in wire format.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
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) Hello ¶
func (_c MulticastClient) Hello(ctx context.Context, method string, relURL string, contentType string, body any) <-chan *pub.Response
Hello prints a greeting.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (MulticastClient) Localization ¶
func (_c MulticastClient) Localization(ctx context.Context, method string, relURL string, contentType string, body any) <-chan *pub.Response
Localization prints hello in the language best matching the request's Accept-Language header.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (MulticastClient) Ping ¶
func (_c MulticastClient) Ping(ctx context.Context, method string, relURL string, contentType string, body any) <-chan *pub.Response
Ping all microservices and list them.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
func (MulticastClient) Root ¶
func (_c MulticastClient) Root(ctx context.Context, method string, relURL string, contentType string, body any) <-chan *pub.Response
Root is the top-most root page.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body if of type io.Reader, []byte or string, it is serialized in binary form. If it is of type url.Values, it is serialized as form data. All other types are serialized as JSON. If a content type is not explicitly provided, an attempt will be made to derive it from the body.
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.