HttpRequest

package
v0.0.0-...-cd72d90 Latest Latest
Warning

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

Go to latest
Published: May 21, 2019 License: MIT, Apache-2.0 Imports: 15 Imported by: 0

README

HttpRequest

A simple HTTP Request package for golang. GET POST DELETE PUT Upload

Installation

go get github.com/kirinlabs/HttpRequest

How do we use HttpRequest?

Create request object

req := HttpRequest.NewRequest()

Keep Alives

req.DisableKeepAlives(false)

Ignore Https certificate validation

req.SetTLSClient(&tls.Config{InsecureSkipVerify: true})

Set headers

req.SetHeaders(map[string]string{
    "Content-Type": "application/x-www-form-urlencoded",
})

Set cookies

req.SetCookies(map[string]string{
    "name":"json",
})

Set timeout

req.SetTimeout(5)  //default 30s

Object-oriented operation mode

req := HttpRequest.NewRequest().Debug(true).SetHeaders(map[string]string{
    "Content-Type": "application/x-www-form-urlencoded",
}).SetTimeout(5)
res,err := HttpRequest.NewRequest().Get("http://127.0.0.1:8000?id=10&title=HttpRequest",nil)
GET

Query parameter

res, err := req.Get("http://127.0.0.1:8000?id=10&title=HttpRequest",nil)

Multi parameter,url will be rebuild to http://127.0.0.1:8000?id=10&title=HttpRequest&name=jason&score=100

res, err := req.Get("http://127.0.0.1:8000?id=10&title=HttpRequest",map[string]interface{}{
    "name":  "jason",
    "score": 100,
})
body, err := res.Body()
if err != nil {
    return
}
return string(body)
POST
res, err := req.Post("http://127.0.0.1:8000", map[string]interface{}{
    "id":    10,
    "title": "HttpRequest",
})
body, err := res.Body()
if err != nil {
    return
}
return string(body)
Upload

Params: url, filename, fileinput

res, err := req.Upload("http://127.0.0.1:8000/upload", "/root/demo.txt","uploadFile")
body, err := res.Body()
if err != nil {
    return
}
return string(body)
Debug

Default false

req.Debug(true)

Print in standard output:

[HttpRequest]
-------------------------------------------------------------------
Request: GET http://127.0.0.1:8000?name=iceview&age=19&score=100
Headers: map[Content-Type:application/x-www-form-urlencoded]
Cookies: map[]
Timeout: 30s
BodyMap: map[age:19 score:100]
-------------------------------------------------------------------

Json

Post JSON request

Set header

 req.SetHeaders(map[string]string{"Content-Type": "application/json"})

Post request

res, err := req.Post("http://127.0.0.1:8000", map[string]interface{}{
    "id":    10,
    "title": "HttpRequest",
})

Print JSON

body, err := res.Json()
if err != nil {
   return
}
Response

Response() *http.Response

res, err := req.Post("http://127.0.0.1:8000/",nil) //res is a http.Response object

StatusCode() int

res.StatusCode()

Body() ([]byte, error)

body, err := res.Body()
log.Println(string(body))

Time() string

res.Time()  //ms

Json() (string,error)

body, err := res.Json() //Format the json return value
log.Println(body)

Url() string

res.Url()  //return the requested url

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Export

func Export(v interface{}) string

func Json

func Json(v interface{}) string

Types

type Request

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

func NewRequest

func NewRequest() *Request

Create an instance of the Request

func (*Request) Debug

func (r *Request) Debug(v bool) *Request

Debug model

func (*Request) Delete

func (r *Request) Delete(url string, data map[string]interface{}) (*Response, error)

Delete is a delete http request

func (*Request) DisableKeepAlives

func (r *Request) DisableKeepAlives(v bool) *Request

func (*Request) Get

func (r *Request) Get(url string, data map[string]interface{}) (*Response, error)

Get is a get http request

func (*Request) Post

func (r *Request) Post(url string, data map[string]interface{}) (*Response, error)

Post is a post http request

func (*Request) Put

func (r *Request) Put(url string, data map[string]interface{}) (*Response, error)

Put is a put http request

func (*Request) SetCookies

func (r *Request) SetCookies(c map[string]string) *Request

Set cookies

func (*Request) SetHeaders

func (r *Request) SetHeaders(h map[string]string) *Request

Set headers

func (*Request) SetTLSClient

func (r *Request) SetTLSClient(v *tls.Config) *Request

func (*Request) SetTimeout

func (r *Request) SetTimeout(d time.Duration) *Request

func (*Request) Upload

func (r *Request) Upload(url, filename, fileinput string) (*Response, error)

Upload file

type Response

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

func (*Response) Body

func (r *Response) Body() ([]byte, error)

func (*Response) Json

func (r *Response) Json() (string, error)

func (*Response) Response

func (r *Response) Response() *http.Response

func (*Response) StatusCode

func (r *Response) StatusCode() int

func (*Response) Time

func (r *Response) Time() string

func (*Response) Url

func (r *Response) Url() string

Jump to

Keyboard shortcuts

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