httpclient

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2024 License: MIT Imports: 9 Imported by: 0

README

Httpclient

This is a package to do http requests. Included in these http requests are GET, POST, PUT and DELETE. All of them have circuit break, bulkhead and transaction logging.

The transaction logging is just an interface. So bring your own logging or use use transaction logging from golf.

Dependencies

Usage

Get requests

client := NewHttpClient(fakeLogger)
var dto MyDto

requestId := "test" // Used for transaction logging
url := "http://localhost:8080"
headers := map[string]string{"Accept": "application/json"}
getRequest := NewGetRequest(requestId, headers, url)
err := client.GetJson(getRequest, &dto)

Post requests

client := NewHttpClient(fakeLogger)
requestDto := MyDto{Name: "Crazy Test"}

requestId := "test"
url := "http://localhost:8080"
headers := map[string]string{"Content-Type": "application/json"}

postRequest := NewPostRequest(requestId, headers, url, requestDto)
err := client.PostJson(postRequest, nil)

Put requests

client := NewHttpClient(fakeLogger)
requestDto := MyDto{Name: "Crazy Test"}

requestId := "test"
url := "http://localhost:8080"
headers := map[string]string{"Content-Type": "application/json"}

putRequest := NewPutRequest(requestId, headers, url, requestDto)
err := client.PutJson(putRequest, nil)

Delete requests

client := NewHttpClient(fakeLogger)

requestId := "test"
url := "http://localhost:8080/1"
headers := map[string]string{}
getRequest := NewDeleteRequest(requestId, headers, url)
err := client.Delete(getRequest)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SafeURL added in v0.5.0

func SafeURL(baseURL string, pathParams []string, queryParams map[string]string) (string, error)

Types

type DeleteRequest added in v0.5.0

type DeleteRequest struct {
	RequestId string
	Headers   map[string]string
	Url       string
}

func NewDeleteRequest added in v0.5.0

func NewDeleteRequest(requestId string, headers map[string]string, url string) *DeleteRequest

type GetRequest added in v0.4.0

type GetRequest struct {
	RequestId string
	Headers   map[string]string
	Url       string
}

func NewGetRequest added in v0.4.0

func NewGetRequest(requestId string, headers map[string]string, url string) *GetRequest

type HttpClient

type HttpClient struct {
	// contains filtered or unexported fields
}

func NewHttpClient

func NewHttpClient(logger logger) *HttpClient

func (*HttpClient) Delete added in v0.5.0

func (c *HttpClient) Delete(request *DeleteRequest) error

func (*HttpClient) GetJson added in v0.4.0

func (c *HttpClient) GetJson(request *GetRequest, dto any) error

func (*HttpClient) PostJson added in v0.4.0

func (c *HttpClient) PostJson(request *PostRequest, responseDto any) error

func (*HttpClient) PutJson added in v0.5.0

func (c *HttpClient) PutJson(request *PutRequest, responseDto any) error

type PostRequest added in v0.4.0

type PostRequest struct {
	RequestId string
	Headers   map[string]string
	Url       string
	Body      any
}

func NewPostRequest added in v0.4.0

func NewPostRequest(requestId string, headers map[string]string, url string, body any) *PostRequest

type PutRequest added in v0.5.0

type PutRequest struct {
	RequestId string
	Headers   map[string]string
	Url       string
	Body      any
}

func NewPutRequest added in v0.5.0

func NewPutRequest(requestId string, headers map[string]string, url string, body any) *PutRequest

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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