add goa examples
This commit is contained in:
75
go/goa_example/gen/service1/endpoints.go
Normal file
75
go/goa_example/gen/service1/endpoints.go
Normal file
@@ -0,0 +1,75 @@
|
||||
// Code generated by goa v3.6.0, DO NOT EDIT.
|
||||
//
|
||||
// Service1 endpoints
|
||||
//
|
||||
// Command:
|
||||
// $ goa gen goa_example/design
|
||||
|
||||
package service1
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
goa "goa.design/goa/v3/pkg"
|
||||
"goa.design/goa/v3/security"
|
||||
)
|
||||
|
||||
// Endpoints wraps the "Service1" service endpoints.
|
||||
type Endpoints struct {
|
||||
Signin goa.Endpoint
|
||||
Secure goa.Endpoint
|
||||
}
|
||||
|
||||
// NewEndpoints wraps the methods of the "Service1" service with endpoints.
|
||||
func NewEndpoints(s Service) *Endpoints {
|
||||
// Casting service to Auther interface
|
||||
a := s.(Auther)
|
||||
return &Endpoints{
|
||||
Signin: NewSigninEndpoint(s, a.BasicAuth),
|
||||
Secure: NewSecureEndpoint(s, a.JWTAuth),
|
||||
}
|
||||
}
|
||||
|
||||
// Use applies the given middleware to all the "Service1" service endpoints.
|
||||
func (e *Endpoints) Use(m func(goa.Endpoint) goa.Endpoint) {
|
||||
e.Signin = m(e.Signin)
|
||||
e.Secure = m(e.Secure)
|
||||
}
|
||||
|
||||
// NewSigninEndpoint returns an endpoint function that calls the method
|
||||
// "signin" of service "Service1".
|
||||
func NewSigninEndpoint(s Service, authBasicFn security.AuthBasicFunc) goa.Endpoint {
|
||||
return func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
p := req.(*SigninPayload)
|
||||
var err error
|
||||
sc := security.BasicScheme{
|
||||
Name: "basic",
|
||||
Scopes: []string{},
|
||||
RequiredScopes: []string{},
|
||||
}
|
||||
ctx, err = authBasicFn(ctx, p.Username, p.Password, &sc)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return s.Signin(ctx, p)
|
||||
}
|
||||
}
|
||||
|
||||
// NewSecureEndpoint returns an endpoint function that calls the method
|
||||
// "secure" of service "Service1".
|
||||
func NewSecureEndpoint(s Service, authJWTFn security.AuthJWTFunc) goa.Endpoint {
|
||||
return func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
p := req.(*SecurePayload)
|
||||
var err error
|
||||
sc := security.JWTScheme{
|
||||
Name: "jwt",
|
||||
Scopes: []string{},
|
||||
RequiredScopes: []string{},
|
||||
}
|
||||
ctx, err = authJWTFn(ctx, p.Token, &sc)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return s.Secure(ctx, p)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user