Documentation
¶
Index ¶
- Constants
- Variables
- func EncodeError(err error, w http.ResponseWriter)
- func ExtractBearerToken(r *http.Request) string
- func ExtractThingKey(r *http.Request) string
- func LoggingErrorEncoder(logger logger.Logger, enc kithttp.ErrorEncoder) kithttp.ErrorEncoder
- func ReadBoolQuery(r *http.Request, key string, def bool) (bool, error)
- func ReadFloatQuery(r *http.Request, key string, def float64) (float64, error)
- func ReadLimitQuery(r *http.Request, key string, def uint64) (uint64, error)
- func ReadMetadataQuery(r *http.Request, key string, def map[string]interface{}) (map[string]interface{}, error)
- func ReadStringQuery(r *http.Request, key string, def string) (string, error)
- func ReadUintQuery(r *http.Request, key string, def uint64) (uint64, error)
- func ValidatePageMetadata(pm PageMetadata, maxLimitSize, maxNameSize int) error
- func ValidateUUID(extID string) (err error)
- func WriteErrorResponse(err error, w http.ResponseWriter)
- type ErrorRes
- type PageMetadata
- type Response
Constants ¶
const ( OffsetKey = "offset" LimitKey = "limit" NameKey = "name" OrderKey = "order" DirKey = "dir" MetadataKey = "metadata" IDKey = "id" EmailKey = "email" PayloadKey = "payload" NameOrder = "name" IDOrder = "id" AscDir = "asc" DescDir = "desc" ContentTypeJSON = "application/json" DefOffset = 0 DefLimit = 10 )
const BearerPrefix = "Bearer "
BearerPrefix represents the token prefix for Bearer authentication scheme.
const ThingPrefix = "Thing "
ThingPrefix represents the key prefix for Thing authentication scheme.
Variables ¶
var ( // ErrBearerToken indicates missing or invalid bearer user token. ErrBearerToken = errors.New("missing or invalid bearer user token") // ErrBearerKey indicates missing or invalid bearer entity key. ErrBearerKey = errors.New("missing or invalid bearer entity key") // ErrMissingGroupID indicates missing group ID. ErrMissingGroupID = errors.New("missing group id") // ErrMissingOrgID indicates missing org ID. ErrMissingOrgID = errors.New("missing org id") // ErrMissingThingID indicates missing thing ID. ErrMissingThingID = errors.New("missing thing id") // ErrMissingProfileID indicates missing profile ID. ErrMissingProfileID = errors.New("missing profile id") // ErrMissingMemberID indicates missing member ID. ErrMissingMemberID = errors.New("missing member id") // ErrMissingWebhookID indicates missing webhook ID. ErrMissingWebhookID = errors.New("missing webhook id") // ErrMissingNotifierID indicates missing notifier ID. ErrMissingNotifierID = errors.New("missing notifier id") // ErrMissingAlarmID indicates missing alarm ID. ErrMissingAlarmID = errors.New("missing alarm id") // ErrMissingRuleID indicates missing rule ID. ErrMissingRuleID = errors.New("missing rule id") // ErrMissingUserID indicates missing user ID. ErrMissingUserID = errors.New("missing user id") // ErrMissingRole indicates missing role. ErrMissingRole = errors.New("missing role") // ErrMissingObject indicates missing object. ErrMissingObject = errors.New("missing object") // ErrMissingKeyID indicates missing ID of key. ErrMissingKeyID = errors.New("missing key ID") // ErrInvalidSubject indicates invalid subject. ErrInvalidSubject = errors.New("invalid subject") // ErrInvalidAction indicates invalid action. ErrInvalidAction = errors.New("invalid action") // ErrInvalidAuthKey indicates invalid auth key. ErrInvalidAuthKey = errors.New("invalid auth key") // ErrInvalidIDFormat indicates an invalid ID format. ErrInvalidIDFormat = errors.New("invalid id format provided") // ErrNameSize indicates that name size exceeds the max. ErrNameSize = errors.New("invalid name size") // ErrEmailSize indicates that email size exceeds the max. ErrEmailSize = errors.New("invalid email size") // ErrInvalidStatus indicates an invalid user account status. ErrInvalidStatus = errors.New("invalid user account status") // ErrLimitSize indicates that an invalid limit. ErrLimitSize = errors.New("invalid limit size") // ErrOffsetSize indicates an invalid offset. ErrOffsetSize = errors.New("invalid offset size") // ErrInvalidOrder indicates an invalid list order. ErrInvalidOrder = errors.New("invalid list order provided") // ErrInvalidDirection indicates an invalid list direction. ErrInvalidDirection = errors.New("invalid list direction provided") // ErrEmptyList indicates that entity data is empty. ErrEmptyList = errors.New("empty list provided") // ErrMissingCertID indicates missing cert ID. ErrMissingCertID = errors.New("missing cert id") // ErrMissingCertData indicates missing cert data (ttl, key_type or key_bits). ErrMissingCertData = errors.New("missing certificate data") // ErrInvalidTopic indicates an invalid subscription topic. ErrInvalidTopic = errors.New("invalid Subscription topic") // ErrInvalidContact indicates an invalid contact. ErrInvalidContact = errors.New("invalid contact") // ErrMissingEmail indicates missing email. ErrMissingEmail = errors.New("missing email") // ErrMissingHost indicates missing host. ErrMissingHost = errors.New("missing host") // ErrMissingPass indicates missing password. ErrMissingPass = errors.New("missing password") // ErrMissingConfPass indicates missing conf password. ErrMissingConfPass = errors.New("missing conf password") // ErrInvalidResetPass indicates an invalid reset password. ErrInvalidResetPass = errors.New("invalid reset password") // ErrInvalidComparator indicates an invalid comparator. ErrInvalidComparator = errors.New("invalid comparator") // ErrInvalidAPIKey indicates an invalid API key type. ErrInvalidAPIKey = errors.New("invalid api key type") // ErrMaxLevelExceeded indicates an invalid group level. ErrMaxLevelExceeded = errors.New("invalid group level (should be lower than 5)") // ErrUnsupportedContentType indicates unacceptable or lack of Content-Type ErrUnsupportedContentType = errors.New("unsupported content type") // ErrInvalidQueryParams indicates invalid query parameters ErrInvalidQueryParams = errors.New("invalid query parameters") // ErrNotFoundParam indicates that the parameter was not found in the query ErrNotFoundParam = errors.New("parameter not found in the query") // ErrMalformedEntity indicates a malformed entity specification. ErrMalformedEntity = errors.New("malformed entity specification") // ErrInvalidRole indicates an invalid role. ErrInvalidRole = errors.New("invalid role") // ErrMissingConditionField indicates a missing condition field ErrMissingConditionField = errors.New("missing condition field") // ErrMissingConditionOperator indicates a missing condition operator ErrMissingConditionOperator = errors.New("missing condition operator") // ErrMissingConditionThreshold indicates a missing condition threshold ErrMissingConditionThreshold = errors.New("missing condition threshold") // ErrInvalidActionType indicates an invalid action type ErrInvalidActionType = errors.New("missing or invalid action type") // ErrMissingActionID indicates a missing action id ErrMissingActionID = errors.New("missing action id") // ErrMissingPublisherID indicated a missing publisher id ErrMissingPublisherID = errors.New("missing publisher id") )
Errors defined in this file are used by the LoggingErrorEncoder decorator to distinguish and log API request validation errors and avoid that service errors are logged twice.
Functions ¶
func EncodeError ¶ added in v0.26.0
func EncodeError(err error, w http.ResponseWriter)
func ExtractBearerToken ¶
ExtractBearerToken returns value of the bearer token. If there is no bearer token - an empty value is returned.
func ExtractThingKey ¶
ExtractThingKey returns value of the thing key. If there is no thing key - an empty value is returned.
func LoggingErrorEncoder ¶
func LoggingErrorEncoder(logger logger.Logger, enc kithttp.ErrorEncoder) kithttp.ErrorEncoder
LoggingErrorEncoder is a go-kit error encoder logging decorator.
func ReadBoolQuery ¶
ReadBoolQuery reads boolean query parameters in a given http request
func ReadFloatQuery ¶
ReadFloatQuery reads the value of float64 http query parameters for a given key
func ReadLimitQuery ¶
ReadLimitQuery reads the value of limit http query parameters
func ReadMetadataQuery ¶
func ReadMetadataQuery(r *http.Request, key string, def map[string]interface{}) (map[string]interface{}, error)
ReadMetadataQuery reads the value of json http query parameters for a given key
func ReadStringQuery ¶
ReadStringQuery reads the value of string http query parameters for a given key
func ReadUintQuery ¶
ReadUintQuery reads the value of uint64 http query parameters for a given key
func ValidatePageMetadata ¶ added in v0.26.0
func ValidatePageMetadata(pm PageMetadata, maxLimitSize, maxNameSize int) error
func ValidateUUID ¶ added in v0.26.0
func WriteErrorResponse ¶ added in v0.26.0
func WriteErrorResponse(err error, w http.ResponseWriter)
Types ¶
type ErrorRes ¶
type ErrorRes struct {
Err string `json:"error"`
}
ErrorRes represents the HTTP error response body.
type PageMetadata ¶ added in v0.26.0
type PageMetadata struct { Total uint64 Offset uint64 `json:"offset,omitempty"` Limit uint64 `json:"limit,omitempty"` Name string `json:"name,omitempty"` Order string `json:"order,omitempty"` Dir string `json:"dir,omitempty"` Metadata map[string]interface{} `json:"metadata,omitempty"` Email string `json:"email,omitempty"` Payload map[string]interface{} `json:"payload,omitempty"` }
PageMetadata contains page metadata that helps navigation.
func BuildPageMetadata ¶ added in v0.26.0
func BuildPageMetadata(r *http.Request) (PageMetadata, error)