Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloseBody ¶ added in v0.1.2
func CloseBody(body io.ReadCloser)
Types ¶
type Executor ¶
type Executor interface {
Execute() (resp *http.Response, err error)
HandleBody(f func(body []uint8) error) error
// HandleResponse require response handler,
// if create a new response, MUST close old res.Body
HandleResponse(func(*http.Request, *http.Response) (*http.Response, error)) ResponseHandler
}
Executor provides methods for executing api
type InvalidStatusCodeError ¶ added in v0.1.2
func (*InvalidStatusCodeError) Error ¶ added in v0.1.2
func (i *InvalidStatusCodeError) Error() string
type JSONContent ¶ added in v0.1.4
type JSONContent interface {
JSON(json []byte) JSONContent
JSONString(json string) JSONContent
// JSONStruct requires struct, not pointer.
// if receive invalid, error occurs when executing.
JSONStruct(data interface{}) JSONContent
Executor
}
type Multipart ¶ added in v0.1.4
type Multipart interface {
MultipartData(key string, value io.Reader, forceMultipart bool) Multipart
MultipartAsFormFile(key string, fileName string, reader io.Reader, forceMultipart bool) Multipart
Executor
}
Multipart provides methods for set multipart data(including file)
type ResponseHandler ¶ added in v0.1.2
ResponseHandler provides wrapper methods with handling error(ex. http status code)
type TerminalOperator ¶
type TerminalOperator interface {
Path(pathFmt string, args ...interface{}) TerminalOperator
URLParam(key string, value string) TerminalOperator
BasicAuth(username string, password string) TerminalOperator
Header(key, value string) TerminalOperator
// client
Client(client *http.Client) TerminalOperator
JSON(json []byte) JSONContent
JSONString(json string) JSONContent
// JSONStruct requires struct, not pointer.
// if receive invalid, error occurs when executing.
JSONStruct(data interface{}) JSONContent
// URLEncoded add value if same key
URLEncoded(key string, value string) URLEncoded
// URLEncodedList replace values if same key
URLEncodedList(key string, values []string) URLEncoded
// URLEncodedEscapedString receives raw data, but never check
URLEncodedEscapedString(data string) URLEncoded
URLEncodedString(data string) URLEncoded
MultipartData(key string, value io.Reader, forceMultipart bool) Multipart
MultipartAsFormFile(key string, fileName string, reader io.Reader, forceMultipart bool) Multipart
// HandleResponse require response handler,
// if create a new response, MUST close old res.Body
HandleResponse(func(*http.Request, *http.Response) (*http.Response, error)) ResponseHandler
Executor
}
TerminalOperator executes web api and process result
func Get ¶
func Get(baseURL string) TerminalOperator
Get requires base url for reuse this instance. BaseURL includes protocol like `http://` or `https://` ex. https://api.github.com/repos/
func Post ¶
func Post(baseURL string) TerminalOperator
Post requires base url for reuse this instance. BaseURL includes protocol like `http://` or `https://` ex. https://api.github.com/repos/
func Put ¶ added in v0.1.2
func Put(baseURL string) TerminalOperator
type URLEncoded ¶
type URLEncoded interface {
// URLEncoded add value if same key
URLEncoded(key string, value string) URLEncoded
// URLEncodedList replace values if same key
URLEncodedList(key string, values []string) URLEncoded
// URLEncodedEscapedString receives raw data, but never check
URLEncodedEscapedString(data string) URLEncoded
URLEncodedString(data string) URLEncoded
Executor
}
URLEncoded provides methods for sets url encoded body
Click to show internal directories.
Click to hide internal directories.