loginapi

package
v1.22.2 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

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

View Source
const Hostname = "login.example"

Hostname is the default hostname of the microservice.

Variables

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

func NewClient(caller service.Publisher) Client

NewClient creates a new unicast client proxy to the microservice.

func (Client) AdminOnly

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

AdminOnly is only accessible by admins.

If a URL is provided, it is resolved relative to the URL of the endpoint.

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) 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.

func (Client) WithOptions

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

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

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.

func (Hook) ForHost added in v1.22.0

func (c Hook) ForHost(host string) Hook

ForHost returns a copy of the hook with a different hostname to be applied to the subscription.

func (Hook) WithOptions added in v1.22.0

func (c Hook) WithOptions(opts ...sub.Option) Hook

WithOptions returns a copy of the hook with options to be applied to subscriptions.

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

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

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

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

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.

Jump to

Keyboard shortcuts

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