 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package server provides a preconfigured HTTP server.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewMuxRouter ¶ added in v0.39.3
NewMuxRouter initializes a gorilla/mux router and adds the /api subroute to it
Types ¶
type AuthorizeService ¶ added in v0.39.3
type AuthorizeService interface {
	Authorize(lgr zerolog.Logger, r *http.Request, sub audit.Audit) error
}
    AuthorizeService determines whether an app and a user can perform an action against a resource
type CreateAppService ¶ added in v0.39.3
type CreateAppService interface {
	Create(ctx context.Context, r *service.CreateAppRequest, adt audit.Audit) (service.AppResponse, error)
}
    CreateAppService creates an App
type CreateOrgService ¶ added in v0.39.3
type CreateOrgService interface {
	Create(ctx context.Context, r *service.CreateOrgRequest, adt audit.Audit) (service.OrgResponse, error)
}
    CreateOrgService creates an Org
type Driver ¶ added in v0.39.3
Driver implements the driver.Server interface. The zero value is a valid http.Server.
func NewDriver ¶ added in v0.39.3
func NewDriver() *Driver
NewDriver creates a Driver with an http.Server with default timeouts.
func (*Driver) ListenAndServe ¶ added in v0.39.3
ListenAndServe sets the address and handler on Driver's http.Server, then calls ListenAndServe on it.
type FindAppService ¶ added in v0.39.3
type FindAppService interface {
	// FindAppByAPIKey finds an app given its External ID and determines
	// if the given API key is a valid key for it
	FindAppByAPIKey(ctx context.Context, realm, appExtlID, apiKey string) (app.App, error)
}
    FindAppService retrieves an App
type FindOrgService ¶ added in v0.39.3
type FindOrgService interface {
	FindAll(ctx context.Context) ([]service.OrgResponse, error)
	FindByExternalID(ctx context.Context, extlID string) (service.OrgResponse, error)
}
    FindOrgService retrieves Org information from the datastore
type FindUserService ¶ added in v0.39.3
type FindUserService interface {
	FindUserByOauth2Token(ctx context.Context, params service.FindUserParams) (user.User, error)
}
    FindUserService retrieves a User
type LoggerService ¶ added in v0.39.3
type LoggerService interface {
	Read() service.LoggerResponse
	Update(r *service.LoggerRequest) (service.LoggerResponse, error)
}
    LoggerService reads and updates the logger state
type PingService ¶ added in v0.39.3
type PingService interface {
	Ping(ctx context.Context, logger zerolog.Logger) service.PingResponse
}
    PingService pings the database and responds whether it is up or down
type SeedService ¶ added in v0.39.3
type SeedService interface {
	Seed(ctx context.Context, r *service.SeedRequest) (service.SeedResponse, error)
}
    SeedService initializes the database with dependent data
type Server ¶
type Server struct {
	Driver driver.Server
	// all logging is done with a zerolog.Logger
	Logger zerolog.Logger
	// Addr optionally specifies the TCP address for the server to listen on,
	// in the form "host:port". If empty, ":http" (port 80) is used.
	// The service names are defined in RFC 6335 and assigned by IANA.
	// See net.Dial for details of the address format.
	Addr string
	// Services used by the various HTTP routes and middleware.
	Services
	// contains filtered or unexported fields
}
    Server represents an HTTP server.
func (*Server) ListenAndServe ¶ added in v0.39.3
ListenAndServe is a wrapper to use wherever http.ListenAndServe is used.
type Services ¶ added in v0.39.3
type Services struct {
	SeedService      SeedService
	PingService      PingService
	LoggerService    LoggerService
	CreateOrgService CreateOrgService
	UpdateOrgService UpdateOrgService
	FindOrgService   FindOrgService
	CreateAppService CreateAppService
	FindAppService   FindAppService
	FindUserService  FindUserService
	AuthorizeService AuthorizeService
}
    Services are used by the application service handlers
type UpdateOrgService ¶ added in v0.39.3
type UpdateOrgService interface {
	Update(ctx context.Context, r *service.UpdateOrgRequest, adt audit.Audit) (service.OrgResponse, error)
}
    UpdateOrgService updates an Org