Documentation ¶
Index ¶
- Constants
- func Argon2KeyGen(password string, salt []byte, keyLen int) ([]byte, error)
- func FirstNonErrorWithValue[T any](ctx context.Context, autoCancel bool, returnOnError func(error) bool, ...) (T, error)
- func FromPointer[T comparable](s *T) T
- func FromPointerSlice[T any](s []*T) []T
- func GenerateSalt(size int) ([]byte, error)
- func GetKeyIDFromJWT(token keyaccess.JWT) (string, error)
- func GetMethodForDID(did string) (didsdk.Method, error)
- func Is2xxResponse(statusCode int) bool
- func IsEmpty[T any](s *T) bool
- func IsShutdown(err error) bool
- func IsStructPtr(obj any) bool
- func NewShutdownError(message string) error
- func ParseJWT(token keyaccess.JWT) (*jws.Signature, jwt.Token, error)
- func SanitizeLog(log string) string
- func ToPointer[T any](s T) *T
- func ToPointerSlice[T any](s []T) []*T
- func XChaCha20Poly1305Decrypt(key, data []byte) ([]byte, error)
- func XChaCha20Poly1305Encrypt(key, data []byte) ([]byte, error)
- type ErrHTTP
- type ErrorResponse
- type FieldError
- type SafeError
Constants ¶
const ( // Argon2SaltSize represents the recommended salt size for argon2, which is 16 bytes // https://tools.ietf.org/id/draft-irtf-cfrg-argon2-05.html#rfc.section.3.1 Argon2SaltSize = 16 )
Variables ¶
This section is empty.
Functions ¶
func Argon2KeyGen ¶
Argon2KeyGen returns an encoded string generation of a key generated using the go crypto argon2 impl specifically, the Argon2id version, a "hybrid version of Argon2 combining Argon2i and Argon2d."
func FirstNonErrorWithValue ¶
func FromPointer ¶
func FromPointer[T comparable](s *T) T
FromPointer returns the value of a pointer, or the zero value of the pointer's type if the pointer is nil.
func FromPointerSlice ¶
func FromPointerSlice[T any](s []*T) []T
func GenerateSalt ¶
GenerateSalt generates a random salt value for a given size
func GetMethodForDID ¶
GetMethodForDID gets a DID method from a did, the second part of the did (e.g. did:test:abcd, the method is 'test')
func Is2xxResponse ¶
Is2xxResponse returns true if the given status code is a 2xx response
func IsShutdown ¶
IsShutdown checks to see if the shutdown error is contained in the specified error value.
func IsStructPtr ¶
IsStructPtr checks if the given object is a pointer to a struct
func NewShutdownError ¶
NewShutdownError returns an error that causes the framework to signal. a graceful shutdown
func SanitizeLog ¶
SanitizeLog prevents certain classes of injection attacks before logging https://codeql.github.com/codeql-query-help/go/go-log-injection/
func ToPointerSlice ¶
func ToPointerSlice[T any](s []T) []*T
func XChaCha20Poly1305Decrypt ¶
XChaCha20Poly1305Decrypt takes a 32 byte key and uses XChaCha20-Poly1305 to decrypt a piece of data
func XChaCha20Poly1305Encrypt ¶
XChaCha20Poly1305Encrypt takes a 32 byte key and uses XChaCha20-Poly1305 to encrypt a piece of data
Types ¶
type ErrorResponse ¶
ErrorResponse is the structure of response error payloads sent back to the requester when validation of a request payload fails.
type FieldError ¶
FieldError is used to indicate an error with a field in a request payload.
type SafeError ¶
type SafeError struct { Err error StatusCode int Fields []FieldError }
SafeError is used to pass an error during the request through the server with web specific context. 'Safe' here means that the error messages do not include any sensitive information and can be sent straight back to the requester
func (*SafeError) Error ¶
SafeError implements the `error` interface. It uses the default message of the wrapped error. This is what will be shown in a server's logs
func (*SafeError) FieldErrors ¶
FieldErrors returns a string containing all field errors.