Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DebugUserConfig ¶
type DebugUserConfig struct {
Mode DebugUserMode
Username string
Password string
}
DebugUserConfig defines the API debug user configurations
func (*DebugUserConfig) Prepares ¶
func (conf *DebugUserConfig) Prepares(mode Mode) error
Prepares sets defaults and validates the configurations
type DebugUserMode ¶
type DebugUserMode string
DebugUserMode represents a debug user mode
const ( // DebugUserUnset represents the default unset option value DebugUserUnset DebugUserMode = "" // DebugUserDisabled disables the debug user DebugUserDisabled DebugUserMode = "disabled" // DebugUserReadOnly enables the debug user in a read-only mode DebugUserReadOnly DebugUserMode = "read-only" // DebugUserRW enables the debug user in a read-write mode DebugUserRW DebugUserMode = "read-write" )
func (DebugUserMode) Validate ¶
func (md DebugUserMode) Validate() error
Validate returns an error if the value is invalid
type Duration ¶
Duration represents a duration
func (*Duration) UnmarshalTOML ¶
UnmarshalTOML implements the TOML unmarshaler interface
type File ¶
type File struct {
Mode Mode `toml:"mode"`
PasswordHasher PasswordHasher `toml:"password-hasher"`
SessionKeyGenerator SessionKeyGenerator `toml:"session-key-generator"`
DB struct {
Host string `toml:"host"`
} `toml:"db"`
Log struct {
Debug string `toml:"debug"`
Error string `toml:"error"`
} `toml:"log"`
Debug struct {
Mode string `toml:"mode"`
Username string `toml:"username"`
Password string `toml:"password"`
} `toml:"debug"`
Shield struct {
Whitelist bool `toml:"whitelist"`
PersistTo string `toml:"persist-to"`
} `toml:"shield"`
TransportHTTP struct {
Host string `toml:"host"`
KeepAliveDuration Duration `toml:"keep-alive-duration"`
Playground bool `toml:"playground"`
TLS struct {
Enabled bool `toml:"enabled"`
MinVersion TLSVersion `toml:"min-version"`
CertificateFile string `toml:"certificate-file"`
KeyFile string `toml:"key-file"`
CurvePreferences []TLSCurveID `toml:"curve-preferences"`
CipherSuites []TLSCipherSuite `toml:"cipher-suites"`
} `toml:"tls"`
} `toml:"transport-http"`
}
File represents a TOML encoded configuration file
type PasswordHasher ¶
type PasswordHasher string
PasswordHasher represents a password hasher identifier
func (*PasswordHasher) UnmarshalTOML ¶
func (v *PasswordHasher) UnmarshalTOML(val interface{}) error
UnmarshalTOML implements the TOML unmarshaler interface
type ServerConfig ¶
type ServerConfig struct {
Mode Mode
DBHost string
Shield ShieldConfig
SessionKeyGenerator sesskeygen.SessionKeyGenerator
PasswordHasher passhash.PasswordHasher
DebugUser DebugUserConfig
Transport []transport.Server
DebugLog *log.Logger
ErrorLog *log.Logger
}
ServerConfig defines the API server configurations
func FromFile ¶
func FromFile(path string) (*ServerConfig, error)
FromFile reads the configuration from a file
func (*ServerConfig) Prepare ¶
func (conf *ServerConfig) Prepare() error
Prepare sets defaults and validates the configurations
type SessionKeyGenerator ¶
type SessionKeyGenerator string
SessionKeyGenerator represents a session key generator identifier
func (*SessionKeyGenerator) UnmarshalTOML ¶
func (v *SessionKeyGenerator) UnmarshalTOML(val interface{}) error
UnmarshalTOML implements the TOML unmarshaler interface
type ShieldConfig ¶ added in v1.3.0
ShieldConfig represents the GraphQL shield configuration
type TLSCipherSuite ¶
type TLSCipherSuite uint16
TLSCipherSuite represents a TLS cipher suite
func (*TLSCipherSuite) UnmarshalTOML ¶
func (v *TLSCipherSuite) UnmarshalTOML(val interface{}) error
UnmarshalTOML implements the TOML unmarshaler interface
type TLSCurveID ¶
TLSCurveID represents a TLS curve identifier
func (*TLSCurveID) UnmarshalTOML ¶
func (v *TLSCurveID) UnmarshalTOML(val interface{}) error
UnmarshalTOML implements the TOML unmarshaler interface
type TLSVersion ¶
type TLSVersion uint16
TLSVersion represents a TLS protocol version
func (*TLSVersion) UnmarshalTOML ¶
func (v *TLSVersion) UnmarshalTOML(val interface{}) error
UnmarshalTOML implements the TOML unmarshaler interface