client

package
v2.0.0-dev Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2021 License: Apache-2.0 Imports: 6 Imported by: 41

Documentation

Overview

Package client provides some http helpers to create http clients and executors

SPDX-License-Identifier: Apache-2.0

SPDX-License-Identifier: Apache-2.0

Index

Constants

View Source
const Namespace = "github.com/devopsfaith/krakend/http"

Namespace to be used in extra config

Variables

View Source
var ErrInvalidStatusCode = errors.New("Invalid status code")

ErrInvalidStatusCode is the error returned by the http proxy when the received status code is not a 200 nor a 201

Functions

func DefaultHTTPStatusHandler

func DefaultHTTPStatusHandler(ctx context.Context, resp *http.Response) (*http.Response, error)

DefaultHTTPStatusHandler is the default implementation of HTTPStatusHandler

func ErrorHTTPStatusHandler

func ErrorHTTPStatusHandler(ctx context.Context, resp *http.Response) (*http.Response, error)

ErrorHTTPStatusHandler is a HTTPStatusHandler that returns the status code as part of the error details

func NewHTTPClient

func NewHTTPClient(ctx context.Context) *http.Client

NewHTTPClient just returns the http default client

func NoOpHTTPStatusHandler

func NoOpHTTPStatusHandler(_ context.Context, resp *http.Response) (*http.Response, error)

NoOpHTTPStatusHandler is a NO-OP implementation of HTTPStatusHandler

Types

type HTTPClientFactory

type HTTPClientFactory func(ctx context.Context) *http.Client

HTTPClientFactory creates http clients based with the received context

type HTTPRequestExecutor

type HTTPRequestExecutor func(ctx context.Context, req *http.Request) (*http.Response, error)

HTTPRequestExecutor defines the interface of the request executor for the HTTP transport protocol

func DefaultHTTPRequestExecutor

func DefaultHTTPRequestExecutor(clientFactory HTTPClientFactory) HTTPRequestExecutor

DefaultHTTPRequestExecutor creates a HTTPRequestExecutor with the received HTTPClientFactory

type HTTPResponseError

type HTTPResponseError struct {
	Code int    `json:"http_status_code"`
	Msg  string `json:"http_body,omitempty"`
}

HTTPResponseError is the error to be returned by the ErrorHTTPStatusHandler

func (HTTPResponseError) Error

func (r HTTPResponseError) Error() string

Error returns the error message

func (HTTPResponseError) StatusCode

func (r HTTPResponseError) StatusCode() int

StatusCode returns the status code returned by the backend

type HTTPStatusHandler

type HTTPStatusHandler func(context.Context, *http.Response) (*http.Response, error)

HTTPStatusHandler defines how we tread the http response code

func DetailedHTTPStatusHandler

func DetailedHTTPStatusHandler(name string) HTTPStatusHandler

DetailedHTTPStatusHandler is a HTTPStatusHandler implementation

func GetHTTPStatusHandler

func GetHTTPStatusHandler(remote *config.Backend) HTTPStatusHandler

GetHTTPStatusHandler returns a status handler. If the 'return_error_details' key is defined at the extra config, it returns a DetailedHTTPStatusHandler. Otherwise, it returns a DefaultHTTPStatusHandler

type NamedHTTPResponseError

type NamedHTTPResponseError struct {
	HTTPResponseError
	// contains filtered or unexported fields
}

NamedHTTPResponseError is the error to be returned by the DetailedHTTPStatusHandler

func (NamedHTTPResponseError) Name

func (r NamedHTTPResponseError) Name() string

Name returns the name of the backend where the error happened

Directories

Path Synopsis
SPDX-License-Identifier: Apache-2.0
SPDX-License-Identifier: Apache-2.0
Package plugin provides plugin register interfaces for building http client plugins.
Package plugin provides plugin register interfaces for building http client plugins.
tests
SPDX-License-Identifier: Apache-2.0
SPDX-License-Identifier: Apache-2.0

Jump to

Keyboard shortcuts

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