Documentation
¶
Overview ¶
Package serveropts contains an echo server options wrapper
Index ¶
- type LevelNameHook
- type ServerOption
- func WithAuth() ServerOption
- func WithCORS() ServerOption
- func WithCSRF() ServerOption
- func WithCacheHeaders() ServerOption
- func WithConfigProvider(cfgProvider config.Provider) ServerOption
- func WithEmailConfig() ServerOption
- func WithEntitlements() ServerOption
- func WithGeneratedKeys() ServerOption
- func WithGraphRoute(srv *server.Server, c *ent.Client) ServerOption
- func WithHTTPS() ServerOption
- func WithKeyDir(dir string) ServerOption
- func WithKeyDirOption() ServerOption
- func WithKeyDirWatcher(dir string) ServerOption
- func WithMiddleware() ServerOption
- func WithOTP() ServerOption
- func WithObjectStorage() ServerOption
- func WithRateLimiter() ServerOption
- func WithReadyChecks(c *entx.EntClientConfig, f *fgax.Client, r *redis.Client, ...) ServerOption
- func WithRedirects() ServerOption
- func WithSecretManagerKeys(secretName string) ServerOption
- func WithSecretManagerKeysOption() ServerOption
- func WithSecureMW() ServerOption
- func WithSessionManager(rc *redis.Client) ServerOption
- func WithSessionMiddleware() ServerOption
- func WithSummarizer() ServerOption
- func WithTokenManager() ServerOption
- type ServerOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LevelNameHook ¶ added in v0.1.10
type LevelNameHook struct{}
LevelNameHook is a hook that sets the level name field to "info" if the level is not set.
type ServerOption ¶
type ServerOption interface {
// contains filtered or unexported methods
}
func WithAuth ¶
func WithAuth() ServerOption
WithAuth supplies the authn and jwt config for the server
func WithCSRF ¶ added in v0.16.2
func WithCSRF() ServerOption
WithCSRF sets up the CSRF middleware for the server
func WithCacheHeaders ¶
func WithCacheHeaders() ServerOption
WithCacheHeaders sets up the cache control headers for the server
func WithConfigProvider ¶
func WithConfigProvider(cfgProvider config.Provider) ServerOption
WithConfigProvider supplies the config for the server
func WithEmailConfig ¶ added in v0.2.0
func WithEmailConfig() ServerOption
WithEmailConfig sets up the email config to be used to send emails to users on registration, password reset, etc
func WithEntitlements ¶ added in v0.4.1
func WithEntitlements() ServerOption
WithEntitlements sets up the entitlements client for the server which currently only supports stripe
func WithGeneratedKeys ¶
func WithGeneratedKeys() ServerOption
WithGeneratedKeys will generate a public/private key pair that can be used for jwt signing. This should only be used in a development environment
func WithGraphRoute ¶
func WithGraphRoute(srv *server.Server, c *ent.Client) ServerOption
WithGraphRoute adds the graph handler to the server
func WithKeyDir ¶ added in v0.16.2
func WithKeyDir(dir string) ServerOption
WithKeyDir loads all PEM files in dir into the token key map. The filename (without extension) is used as the kid. This allows keys to be provided via mounted secrets
func WithKeyDirOption ¶ added in v0.16.2
func WithKeyDirOption() ServerOption
WithKeyDirOption allows the key directory to be set via server config.
func WithKeyDirWatcher ¶ added in v0.16.2
func WithKeyDirWatcher(dir string) ServerOption
WithKeyDirWatcher watches dir for changes to PEM files and reloads the TokenManager when keys are added or removed.
func WithMiddleware ¶
func WithMiddleware() ServerOption
WithMiddleware adds the middleware to the server
func WithObjectStorage ¶ added in v0.3.0
func WithObjectStorage() ServerOption
WithObjectStorage sets up the object storage for the server
func WithRateLimiter ¶
func WithRateLimiter() ServerOption
WithRateLimiter sets up the rate limiter for the server
func WithReadyChecks ¶
func WithReadyChecks(c *entx.EntClientConfig, f *fgax.Client, r *redis.Client, j riverqueue.JobClient) ServerOption
WithReadyChecks adds readiness checks to the server
func WithRedirects ¶
func WithRedirects() ServerOption
WithRedirects sets up the redirects for the server
func WithSecretManagerKeys ¶ added in v0.16.2
func WithSecretManagerKeys(secretName string) ServerOption
WithSecretManagerKeys loads RSA keys from Google Secret Manager. The secret payload should contain either a PEM encoded private key or a JSON object mapping kid to PEM strings. The keys are written to temporary files and merged with any keys already defined.
func WithSecretManagerKeysOption ¶ added in v0.16.2
func WithSecretManagerKeysOption() ServerOption
WithSecretManagerKeysOption allows the secret manager secret name to be set via server config.
func WithSecureMW ¶
func WithSecureMW() ServerOption
WithSecureMW sets up the secure middleware for the server
func WithSessionManager ¶
func WithSessionManager(rc *redis.Client) ServerOption
WithSessionManager sets up the default session manager with a 10 minute ttl with persistence to redis
func WithSessionMiddleware ¶
func WithSessionMiddleware() ServerOption
WithSessionMiddleware sets up the session middleware for the server
func WithSummarizer ¶ added in v0.11.0
func WithSummarizer() ServerOption
WithSummarizer sets up the logic for summarizing long blurbs of texts
func WithTokenManager ¶
func WithTokenManager() ServerOption
WithTokenManager sets up the token manager for the server
type ServerOptions ¶
type ServerOptions struct {
// ConfigProvider is the provider for the server configuration
ConfigProvider serverconfig.Provider
// Config is the server configuration settings
Config serverconfig.Config
}
ServerOptions defines the options for the server
func NewServerOptions ¶
func NewServerOptions(opts []ServerOption, cfgLoc string) *ServerOptions
NewServerOptions creates a new ServerOptions instance with the provided options and configuration location
func (*ServerOptions) AddServerOptions ¶
func (so *ServerOptions) AddServerOptions(opt ServerOption)
AddServerOptions applies a server option after the initial setup this should be used when information is not available on NewServerOptions