webx

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2021 License: Apache-2.0 Imports: 18 Imported by: 0

README

webx

Web extended - another one http-request utility library

Documentation

Index

Constants

View Source
const (
	HeaderXAPIKey       = "X-API-Key"
	HeaderContentEnc    = "Content-Transfer-Encoding"
	HeaderContentType   = "Content-Type"
	HeaderContentDisp   = "Content-Disposition"
	HeaderLastModified  = "Last-Modified"
	HeaderAuthorization = "Authorization"

	MimeXML     = "text/xml; charset=utf-8"
	MimeZIP     = "application/zip; application/octet-stream"
	MimeTGZ     = "application/tar+gzip; application/gzip; application/octet-stream"
	MimeJSON    = "application/json; charset=utf-8"
	MimeText    = "text/html; charset=utf-8"
	MimeUnknown = "application/octet-stream"
)

Variables

View Source
var (
	ErrBadURL      = errx.New("Некорректное значение адреса")
	ErrBadBody     = errx.New("Некорректный состав тела запроса")
	ErrBadOption   = errx.New("Некорректное значение аргумента")
	ErrBadRequest  = errx.New("Некорректные данные запроса")
	ErrBadResponse = errx.New("Некорректные данные ответа")
	ErrResponse    = errx.New("Ошибка выполнения запроса")
)
View Source
var ErrMsgMustBeAbs = "Базовый URL должен быть абсолютным"

Functions

This section is empty.

Types

type File

type File struct {
	Name string
	Mime string
	Data []byte
}

type Option

type Option func(*options) error

func AppendArg

func AppendArg(name, value string) Option

func AppendHeader

func AppendHeader(name, value string) Option

func Auth

func Auth(user, pass string) Option

func Body

func Body(mime string, body io.Reader) Option

func Client

func Client(c *http.Client) Option

func Context

func Context(ctx context.Context) Option

func DELETE

func DELETE() Option

func Debug

func Debug() Option

func Field

func Field(name string, data []byte) Option

func FieldFile

func FieldFile(field string, files ...*File) Option

func FieldFileAsBase64

func FieldFileAsBase64(field string, files ...*File) Option

func FieldJSON

func FieldJSON(name string, data interface{}) Option

func FieldStr

func FieldStr(name string, data string) Option

func Files

func Files(files map[string][]*File) Option

func GET

func GET() Option
func HEAD() Option

func JSON

func JSON(item interface{}) Option

func Method

func Method(m string) Option

func PATCH

func PATCH() Option

func POST

func POST() Option

func PUT

func PUT() Option

func ReplaceArg

func ReplaceArg(name, value string) Option

func ReplaceHeader

func ReplaceHeader(name, value string) Option

type Request

type Request interface {
	Make(string, ...Option) (Response, error)
}

func NewRequest

func NewRequest(baseURL string, args ...Option) (Request, error)

type Response

type Response interface {
	URL() string
	Code() int
	Body() []byte
	Text() string
	File() (*File, error)
	JSON(interface{}) error
	Error() error
}

Jump to

Keyboard shortcuts

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