rest

package
v2.0.10 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateRequest added in v2.0.1

func CreateRequest(ctx context.Context, httpMethod string, baseUrl string, requestPath string, requestParams url.Values) (*http.Request, error)

func CreateRequestWithRawData

func CreateRequestWithRawData(ctx context.Context, httpMethod string, baseUrl string, requestPath string, requestParams url.Values, data any) (*http.Request, error)

func EncodeAndWriteResponse

func EncodeAndWriteResponse(i any, w *echo.Response, lc log.Logger) error

func EncodeAndWriteYamlResponse

func EncodeAndWriteYamlResponse(i any, w *echo.Response, lc log.Logger) error

func FromContext

func FromContext(ctx context.Context, key string) string

FromContext allows for the retrieval of the specified key's value from the supplied Context. If the value is not found, an empty string is returned.

func GetRequest added in v2.0.1

func GetRequest(ctx context.Context, returnValuePointer interface{}, baseUrl string, requestPath string, requestParams url.Values, authInjector interfaces.AuthenticationInjector) error

GetRequest makes the get request and return the body

func ParseGetAllObjectsRequestQueryString

func ParseGetAllObjectsRequestQueryString(r *http.Request, maxOffSet, maxResultCount int) (offset int, limit int, labels []string, err errors.Error)

ParseGetAllObjectsRequestQueryString parses offset, limit, and labels from the query parameters. And check that the offset and limit values are within the valid range when needed.

func ParseGetLogsRequestQueryString

func ParseGetLogsRequestQueryString(r *http.Request) (since int, until int, tail int, timestamps bool, err errors.Error)

ParseGetLogsRequestQueryString parses since, until, tail and timestamps from the query parameters.

func ParseQueryStringToString

func ParseQueryStringToString(r *http.Request, queryStringKey string, defaultValue string) string

func ParseStartEndRequestQueryString

func ParseStartEndRequestQueryString(r *http.Request) (start, end int64, err errors.Error)

func PutRequest

func PutRequest(
	ctx context.Context,
	returnValuePointer any,
	baseUrl string, requestPath string,
	requestParams url.Values,
	data any, authInjector interfaces.AuthenticationInjector) error

PutRequest makes the put JSON request and return the body

func SendRequest

func SendRequest(ctx context.Context, req *http.Request, authInjector interfaces.AuthenticationInjector) ([]byte, error)

SendRequest will make a request with raw data to the specified URL. It returns the body as a byte array if successful and an error otherwise.

func WriteDefaultHttpHeader

func WriteDefaultHttpHeader(w http.ResponseWriter, ctx context.Context, statusCode int)

func WriteErrorResponse

func WriteErrorResponse(w *echo.Response, ctx context.Context, lc log.Logger, err errors.Error, apiVersion, requestId string) error

WriteErrorResponse writes Http header, encode error response with JSON format and writes to the HTTP response.

func WriteHttpContentTypeHeader

func WriteHttpContentTypeHeader(w http.ResponseWriter, ctx context.Context, statusCode int, contentType string)

Types

type BaseResponse

type BaseResponse struct {
	Versionable `json:",inline"`
	RequestId   string `json:"requestId,omitempty"`
	Message     string `json:"message,omitempty"`
	StatusCode  int    `json:"statusCode"`
}

BaseResponse defines the base content for response DTOs (data transfer objects).

func NewBaseResponse

func NewBaseResponse(apiVersion, requestId, message string, statusCode int) BaseResponse

type HTTPSender

type HTTPSender interface {
	// SetHTTPRequestHeaders sets up http request headers
	SetHTTPRequestHeaders(httpRequestHeaders map[string]string)

	// SetSecretData sets up http secret header
	SetSecretData(name, valueKey, headerName, valuePrefix string)

	// HTTPPost sends http POST request with data
	HTTPPost(dic *di.Container, data any) errors.Error
}

HTTPSender is the interface for http requests

func NewHTTPSender

func NewHTTPSender(url string, mimeType string) HTTPSender

NewHTTPSender creates, initializes and returns a new instance of HTTPSender

type Versionable

type Versionable struct {
	ApiVersion string `json:"apiVersion" validate:"required"`
}

Versionable shows the API version in DTOs

func NewVersionable

func NewVersionable() Versionable

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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