common

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2019 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrMsgFailedToUnmarshalRequest represents error message for unmarshal error.
	ErrMsgFailedToUnmarshalRequest = "Bad request: failed to unmarshal request body"
	// ErrMsgMissingParameter represents error message for missing params error.
	ErrMsgMissingParameter = "Bad request: missing/invalid parameter"
	// ErrMsgFailedToReadRequestBody represents error message for unable to read request body error.
	ErrMsgFailedToReadRequestBody = "Bad request: failed to read request body"
	// ErrMsgNonExistentTable represents error message for table does not exist
	ErrMsgNonExistentTable = "Bad request: table does not exist"
	// ErrMsgNonExistentColumn represents error message for column does not exist
	ErrMsgNonExistentColumn = "Bad request: column does not exist"
	// ErrMsgDeletedColumn represents error message for column is already deleted
	ErrMsgDeletedColumn = "Bad request: column is already deleted"
	// ErrMsgNotImplemented represents error message for method not implemented.
	ErrMsgNotImplemented = "Not implemented"
	// ErrMsgFailedToJSONMarshalResponseBody respresents error message for failure to marshal
	// response body into json.
	ErrMsgFailedToJSONMarshalResponseBody = "Failed to marshal the response body into json"
	// ErrMissingParameter represents api error for missing parameter
	ErrMissingParameter = utils.APIError{
		Code:    http.StatusBadRequest,
		Message: ErrMsgMissingParameter,
	}
	// ErrNotImplemented represents api error for method not implemented.
	ErrNotImplemented = utils.APIError{
		Code:    http.StatusNotImplemented,
		Message: ErrMsgNotImplemented,
	}
	// ErrTableDoesNotExist represents api error for table does not exist.
	ErrTableDoesNotExist = utils.APIError{
		Code:    http.StatusBadRequest,
		Message: ErrMsgNonExistentTable,
	}
	// ErrColumnDoesNotExist represents api error for column does not exist.
	ErrColumnDoesNotExist = utils.APIError{
		Code:    http.StatusBadRequest,
		Message: ErrMsgNonExistentColumn,
	}
	// ErrColumnDeleted represents api error for column is already deleted.
	ErrColumnDeleted = utils.APIError{
		Code:    http.StatusBadRequest,
		Message: ErrMsgDeletedColumn,
	}
	// ErrBatchDoesNotExist represents api error for batch does not exist.
	ErrBatchDoesNotExist = utils.APIError{
		Code:    http.StatusBadRequest,
		Message: "Bad request: batch does not exist",
	}
	// ErrFailedToJSONMarshalResponseBody represents the api error for failure to marshal
	// response body into json.
	ErrFailedToJSONMarshalResponseBody = utils.APIError{
		Code:    http.StatusInternalServerError,
		Message: ErrMsgFailedToJSONMarshalResponseBody,
	}
)

Functions

func ReadRequest

func ReadRequest(r *http.Request, obj interface{}) error

ReadRequest reads request. obj passed into this method has to be a pointer to a struct of request object Each request object will have path params tagged as `path:""` if needed and post body tagged as `body:""` if needed path tag must have parameter name, which will be used to read path param body tag field has to be a struct. eg.

type AddEnumCaseRequest struct {
	TableName string `path:"table"`
	ColumnName string `path:"column"`
	Body struct {
		EnumCase string `json:"enumCase"`
	} `body:""`
}

func Respond

func Respond(w http.ResponseWriter, obj interface{})

Respond responds with object with success status

func RespondBytesWithCode

func RespondBytesWithCode(w http.ResponseWriter, code int, bs []byte)

RespondBytesWithCode with specified code and bytes.

func RespondJSONObjectWithCode

func RespondJSONObjectWithCode(w http.ResponseWriter, code int, obj interface{})

RespondJSONObjectWithCode with specified code and object.

func RespondWithBadRequest

func RespondWithBadRequest(w http.ResponseWriter, err error)

RespondWithBadRequest responds with StatusBadRequest as code.

func RespondWithError

func RespondWithError(w http.ResponseWriter, err error)

RespondWithError responds with error.

func RespondWithJSONBytes

func RespondWithJSONBytes(w http.ResponseWriter, jsonBytes []byte, err error)

RespondWithJSONBytes writes json bytes to response.

func RespondWithJSONObject

func RespondWithJSONObject(w http.ResponseWriter, jsonObj interface{})

RespondWithJSONObject marshals the object into json bytes and write the bytes into response.

Types

type AQLRequest

type AQLRequest struct {
	// in: query
	Device int `query:"device,optional" json:"device"`
	// in: query
	Verbose int `query:"verbose,optional" json:"verbose"`
	// in: query
	Debug int `query:"debug,optional" json:"debug"`
	// in: query
	Profiling string `query:"profiling,optional" json:"profiling"`
	// in: query
	Query string `query:"q,optional" json:"q"`
	// in: query
	DataOnly int `query:"dataonly,optional" json:"dataonly"`
	// in: query
	DeviceChoosingTimeout int `query:"timeout,optional" json:"timeout"`
	// in: header
	Accept string `header:"Accept,optional" json:"accept"`
	// in: header
	Origin string `header:"Rpc-Caller,optional" json:"origin"`
	// in: body
	Body queryCom.AQLRequest `body:""`
}

AQLRequest represents AQL query request. Debug mode will run **each batch** in synchronized mode and report time for each step. swagger:parameters queryAQL

type AQLResponse

type AQLResponse struct {
	//in: body
	Body queryCom.AQLResponse
}

AQLResponse represents queryAQL response. swagger:response aqlResponse

type ErrorResponse

type ErrorResponse struct {
	//in: body
	Body utils.APIError
}

ErrorResponse represents error response. swagger:response errorResponse

type NoContentResponse

type NoContentResponse struct{}

NoContentResponse represents Response with no content. swagger:response noContentResponse

type RequestContext

type RequestContext struct {
	Device                int
	Verbose               int
	Debug                 int
	Profiling             string
	DeviceChoosingTimeout int
	Accept                string
	Origin                string
}

QueryContext contains settings common for all requests

type SQLRequest

type SQLRequest struct {
	// in: query
	Device int `query:"device,optional" json:"device"`
	// in: query
	Verbose int `query:"verbose,optional" json:"verbose"`
	// in: query
	Debug int `query:"debug,optional" json:"debug"`
	// in: query
	Profiling string `query:"profiling,optional" json:"profiling"`
	// in: query
	DeviceChoosingTimeout int `query:"timeout,optional" json:"timeout"`
	// in: header
	Accept string `header:"Accept,optional" json:"accept"`
	// in: header
	Origin string `header:"Rpc-Caller,optional" json:"origin"`
	// in: body
	Body struct {
		Queries []string `json:"queries"`
	} `body:""`
}

SQLRequest represents SQL query request. Debug mode will run **each batch** in synchronized mode and report time for each step. swagger:parameters querySQL

type StringArrayResponse

type StringArrayResponse struct {
	//in: body
	Body []string
}

StringArrayResponse represents string array response. swagger:response stringArrayResponse

func NewStringArrayResponse

func NewStringArrayResponse() StringArrayResponse

NewStringArrayResponse creates a StringArrayResponse.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL