Documentation
¶
Overview ¶
Package intermediate serves as the foundation of the login.example microservice.
The Login microservice demonstrates usage of authentication and authorization.
Index ¶
- type Intermediate
- type Mock
- func (svc *Mock) AdminOnly(w http.ResponseWriter, r *http.Request) (err error)
- func (svc *Mock) Login(w http.ResponseWriter, r *http.Request) (err error)
- func (svc *Mock) Logout(w http.ResponseWriter, r *http.Request) (err error)
- func (svc *Mock) ManagerOnly(w http.ResponseWriter, r *http.Request) (err error)
- func (svc *Mock) MockAdminOnly(handler func(w http.ResponseWriter, r *http.Request) (err error)) *Mock
- func (svc *Mock) MockLogin(handler func(w http.ResponseWriter, r *http.Request) (err error)) *Mock
- func (svc *Mock) MockLogout(handler func(w http.ResponseWriter, r *http.Request) (err error)) *Mock
- func (svc *Mock) MockManagerOnly(handler func(w http.ResponseWriter, r *http.Request) (err error)) *Mock
- func (svc *Mock) MockWelcome(handler func(w http.ResponseWriter, r *http.Request) (err error)) *Mock
- func (svc *Mock) OnShutdown(ctx context.Context) (err error)
- func (svc *Mock) OnStartup(ctx context.Context) (err error)
- func (svc *Mock) Welcome(w http.ResponseWriter, r *http.Request) (err error)
- type ToDo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Intermediate ¶
Intermediate extends and customizes the generic base connector. Code generated microservices then extend the intermediate.
func NewService ¶
func NewService(impl ToDo, version int) *Intermediate
NewService creates a new intermediate service.
type Mock ¶
type Mock struct {
*Intermediate
// contains filtered or unexported fields
}
Mock is a mockable version of the login.example microservice, allowing functions, event sinks and web handlers to be mocked.
func (*Mock) ManagerOnly ¶
ManagerOnly runs the mock handler set by MockManagerOnly.
func (*Mock) MockAdminOnly ¶
func (svc *Mock) MockAdminOnly(handler func(w http.ResponseWriter, r *http.Request) (err error)) *Mock
MockAdminOnly sets up a mock handler for the AdminOnly endpoint.
func (*Mock) MockLogout ¶
MockLogout sets up a mock handler for the Logout endpoint.
func (*Mock) MockManagerOnly ¶
func (svc *Mock) MockManagerOnly(handler func(w http.ResponseWriter, r *http.Request) (err error)) *Mock
MockManagerOnly sets up a mock handler for the ManagerOnly endpoint.
func (*Mock) MockWelcome ¶
func (svc *Mock) MockWelcome(handler func(w http.ResponseWriter, r *http.Request) (err error)) *Mock
MockWelcome sets up a mock handler for the Welcome endpoint.
func (*Mock) OnShutdown ¶
OnShutdown is a no op.
type ToDo ¶
type ToDo interface {
OnStartup(ctx context.Context) (err error)
OnShutdown(ctx context.Context) (err error)
Login(w http.ResponseWriter, r *http.Request) (err error)
Logout(w http.ResponseWriter, r *http.Request) (err error)
Welcome(w http.ResponseWriter, r *http.Request) (err error)
AdminOnly(w http.ResponseWriter, r *http.Request) (err error)
ManagerOnly(w http.ResponseWriter, r *http.Request) (err error)
}
ToDo defines the interface that the microservice must implement. The intermediate delegates handling to this interface.