helloapi

package
v1.17.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

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

View Source
const Hostname = "hello.example"

Hostname is the default hostname of the microservice: hello.example.

Variables

View Source
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 NewClient

func NewClient(caller service.Publisher) Client

NewClient creates a new unicast client proxy to the hello.example microservice.

func (Client) BusPNG

func (_c Client) BusPNG(ctx context.Context, relURL string) (res *http.Response, err error)

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

func (_c Client) ForHost(host string) Client

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.

func (Client) WithOptions added in v1.13.1

func (_c Client) WithOptions(opts ...pub.Option) Client

WithOptions returns a copy of the client with options to be applied to requests.

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

func (_c MulticastClient) BusPNG(ctx context.Context, relURL string) <-chan *pub.Response

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL