Initial QSfera import
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
package godata
|
||||
|
||||
import "fmt"
|
||||
|
||||
type GoDataError struct {
|
||||
ResponseCode int
|
||||
Message string
|
||||
Cause error
|
||||
}
|
||||
|
||||
func (err *GoDataError) Error() string {
|
||||
if err.Cause != nil {
|
||||
return fmt.Sprintf("%s. Cause: %s", err.Message, err.Cause.Error())
|
||||
}
|
||||
return err.Message
|
||||
}
|
||||
|
||||
func (err *GoDataError) Unwrap() error {
|
||||
return err.Cause
|
||||
}
|
||||
|
||||
func (err *GoDataError) SetCause(e error) *GoDataError {
|
||||
err.Cause = e
|
||||
return err
|
||||
}
|
||||
|
||||
func BadRequestError(message string) *GoDataError {
|
||||
return &GoDataError{400, message, nil}
|
||||
}
|
||||
|
||||
func NotFoundError(message string) *GoDataError {
|
||||
return &GoDataError{404, message, nil}
|
||||
}
|
||||
|
||||
func MethodNotAllowedError(message string) *GoDataError {
|
||||
return &GoDataError{405, message, nil}
|
||||
}
|
||||
|
||||
func GoneError(message string) *GoDataError {
|
||||
return &GoDataError{410, message, nil}
|
||||
}
|
||||
|
||||
func PreconditionFailedError(message string) *GoDataError {
|
||||
return &GoDataError{412, message, nil}
|
||||
}
|
||||
|
||||
func InternalServerError(message string) *GoDataError {
|
||||
return &GoDataError{500, message, nil}
|
||||
}
|
||||
|
||||
func NotImplementedError(message string) *GoDataError {
|
||||
return &GoDataError{501, message, nil}
|
||||
}
|
||||
|
||||
type UnsupportedQueryParameterError struct {
|
||||
Parameter string
|
||||
}
|
||||
|
||||
func (err *UnsupportedQueryParameterError) Error() string {
|
||||
return fmt.Sprintf("Query parameter '%s' is not supported", err.Parameter)
|
||||
}
|
||||
|
||||
type DuplicateQueryParameterError struct {
|
||||
Parameter string
|
||||
}
|
||||
|
||||
func (err *DuplicateQueryParameterError) Error() string {
|
||||
return fmt.Sprintf("Query parameter '%s' cannot be specified more than once", err.Parameter)
|
||||
}
|
||||
Reference in New Issue
Block a user