Documentation
¶
Index ¶
- Constants
- Variables
- type Client
- func (_c Client) AdminOnly(ctx context.Context, relativeURL string) (res *http.Response, err error)
- func (_c Client) ForHost(host string) Client
- func (_c Client) Login(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
- func (_c Client) Logout(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
- func (_c Client) ManagerOnly(ctx context.Context, relativeURL string) (res *http.Response, err error)
- func (_c Client) Welcome(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
- func (_c Client) WithOptions(opts ...pub.Option) Client
- type Hook
- type MulticastClient
- func (_c MulticastClient) AdminOnly(ctx context.Context, relativeURL string) <-chan *pub.Response
- func (_c MulticastClient) ForHost(host string) MulticastClient
- func (_c MulticastClient) Login(ctx context.Context, method string, relativeURL string, body any) <-chan *pub.Response
- func (_c MulticastClient) Logout(ctx context.Context, method string, relativeURL string, body any) <-chan *pub.Response
- func (_c MulticastClient) ManagerOnly(ctx context.Context, relativeURL string) <-chan *pub.Response
- func (_c MulticastClient) Welcome(ctx context.Context, method string, relativeURL string, body any) <-chan *pub.Response
- func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient
- type MulticastTrigger
Constants ¶
const ( RouteOfLogin = `/login` // MARKER: Login RouteOfLogout = `/logout` // MARKER: Logout RouteOfWelcome = `/welcome` // MARKER: Welcome RouteOfAdminOnly = `/admin-only` // MARKER: AdminOnly RouteOfManagerOnly = `/manager-only` // MARKER: ManagerOnly )
Endpoint routes.
const Hostname = "login.example"
Hostname is the default hostname of the microservice.
Variables ¶
var ( URLOfLogin = httpx.JoinHostAndPath(Hostname, RouteOfLogin) // MARKER: Login URLOfLogout = httpx.JoinHostAndPath(Hostname, RouteOfLogout) // MARKER: Logout URLOfWelcome = httpx.JoinHostAndPath(Hostname, RouteOfWelcome) // MARKER: Welcome URLOfAdminOnly = httpx.JoinHostAndPath(Hostname, RouteOfAdminOnly) // MARKER: AdminOnly URLOfManagerOnly = httpx.JoinHostAndPath(Hostname, RouteOfManagerOnly) // MARKER: ManagerOnly )
Endpoint URLs.
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) AdminOnly ¶
AdminOnly is only accessible by admins.
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) Login ¶
func (_c Client) Login(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
Login renders a simple login screen that authenticates a user. Known users are hardcoded as "admin", "manager" and "user". The password is "password".
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body is 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.
func (Client) Logout ¶
func (_c Client) Logout(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
Logout renders a page that logs out the user.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body is 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.
func (Client) ManagerOnly ¶
func (_c Client) ManagerOnly(ctx context.Context, relativeURL string) (res *http.Response, err error)
ManagerOnly is only accessible by managers.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (Client) Welcome ¶
func (_c Client) Welcome(ctx context.Context, method string, relativeURL string, body any) (res *http.Response, err error)
Welcome renders a page that is shown to the user after a successful login. Rendering is adjusted based on the user's roles.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body is 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.
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) AdminOnly ¶
AdminOnly is only accessible by admins.
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) Login ¶
func (_c MulticastClient) Login(ctx context.Context, method string, relativeURL string, body any) <-chan *pub.Response
Login renders a simple login screen that authenticates a user. Known users are hardcoded as "admin", "manager" and "user". The password is "password".
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body is 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.
func (MulticastClient) Logout ¶
func (_c MulticastClient) Logout(ctx context.Context, method string, relativeURL string, body any) <-chan *pub.Response
Logout renders a page that logs out the user.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body is 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.
func (MulticastClient) ManagerOnly ¶
ManagerOnly is only accessible by managers.
If a URL is provided, it is resolved relative to the URL of the endpoint.
func (MulticastClient) Welcome ¶
func (_c MulticastClient) Welcome(ctx context.Context, method string, relativeURL string, body any) <-chan *pub.Response
Welcome renders a page that is shown to the user after a successful login. Rendering is adjusted based on the user's roles.
If a URL is provided, it is resolved relative to the URL of the endpoint. If the body is 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.
func (MulticastClient) WithOptions ¶
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.