---
title: ''
---
http defines an HTTP client implementation
## Index
* [def delete(url,params={},headers={},body="",form_body={},json_body={},auth=](#def-ihttpibdeleteb)
* [def get(url,params={},headers={},auth=](#def-ihttpibgetb)
* [def options(url,params={},headers={},body="",form_body={},json_body={},auth=](#def-ihttpiboptionsb)
* [def patch(url,params={},headers={},body="",form_body={},json_body={},auth=](#def-ihttpibpatchb)
* [def post(url,params={},headers={},body="",form_body={},json_body={},auth=](#def-ihttpibpostb)
* [def put(url,params={},headers={},body="",form_body={},json_body={},auth=](#def-ihttpibputb)
* [type response](#type-bresponseb)
* [def body() string](#def-iresponseibbodyb)
* [def json()](#def-iresponseibjsonb)
## Functions
#### def http.delete
```go
http.delete(url,params={},headers={},body="",form_body={},json_body={},auth=()) response
```
perform an HTTP DELETE request, returning a response
###### Arguments
| name | type | description |
|------|------|-------------|
| `url` | `string` | url to request |
| `headers` | `dict` | optional. dictionary of headers to add to request |
| `body` | `string` | optional. raw string body to provide to the request |
| `form_body` | `dict` | optional. dict of values that will be encoded as form data |
| `json_body` | `any` | optional. json data to supply as a request. handy for working with JSON-API's |
| `auth` | `tuple` | optional. (username,password) tuple for http basic authorization |
#### def http.get
```go
http.get(url,params={},headers={},auth=()) response
```
perform an HTTP GET request, returning a response
###### Arguments
| name | type | description |
|------|------|-------------|
| `url` | `string` | url to request |
| `headers` | `dict` | optional. dictionary of headers to add to request |
| `auth` | `tuple` | optional. (username,password) tuple for http basic authorization |
#### def http.options
```go
http.options(url,params={},headers={},body="",form_body={},json_body={},auth=()) response
```
perform an HTTP OPTIONS request, returning a response
###### Arguments
| name | type | description |
|------|------|-------------|
| `url` | `string` | url to request |
| `headers` | `dict` | optional. dictionary of headers to add to request |
| `body` | `string` | optional. raw string body to provide to the request |
| `form_body` | `dict` | optional. dict of values that will be encoded as form data |
| `json_body` | `any` | optional. json data to supply as a request. handy for working with JSON-API's |
| `auth` | `tuple` | optional. (username,password) tuple for http basic authorization |
#### def http.patch
```go
http.patch(url,params={},headers={},body="",form_body={},json_body={},auth=()) response
```
perform an HTTP PATCH request, returning a response
###### Arguments
| name | type | description |
|------|------|-------------|
| `url` | `string` | url to request |
| `headers` | `dict` | optional. dictionary of headers to add to request |
| `body` | `string` | optional. raw string body to provide to the request |
| `form_body` | `dict` | optional. dict of values that will be encoded as form data |
| `json_body` | `any` | optional. json data to supply as a request. handy for working with JSON-API's |
| `auth` | `tuple` | optional. (username,password) tuple for http basic authorization |
#### def http.post
```go
http.post(url,params={},headers={},body="",form_body={},json_body={},auth=()) response
```
perform an HTTP POST request, returning a response
###### Arguments
| name | type | description |
|------|------|-------------|
| `url` | `string` | url to request |
| `headers` | `dict` | optional. dictionary of headers to add to request |
| `body` | `string` | optional. raw string body to provide to the request |
| `form_body` | `dict` | optional. dict of values that will be encoded as form data |
| `json_body` | `any` | optional. json data to supply as a request. handy for working with JSON-API's |
| `auth` | `tuple` | optional. (username,password) tuple for http basic authorization |
#### def http.put
```go
http.put(url,params={},headers={},body="",form_body={},json_body={},auth=()) response
```
perform an HTTP PUT request, returning a response
###### Arguments
| name | type | description |
|------|------|-------------|
| `url` | `string` | url to request |
| `headers` | `dict` | optional. dictionary of headers to add to request |
| `body` | `string` | optional. raw string body to provide to the request |
| `form_body` | `dict` | optional. dict of values that will be encoded as form data |
| `json_body` | `any` | optional. json data to supply as a request. handy for working with JSON-API's |
| `auth` | `tuple` | optional. (username,password) tuple for http basic authorization |
## Types
### type response
the result of performing a http request
###### Properties
| name | type | description |
|------|------|-------------|
| `url` | `string` | the url that was ultimately requested (may change after redirects) |
| `status_code` | `int` | response status code (for example: 200 == OK) |
| `headers` | `dict` | dictionary of response headers |
| `encoding` | `string` | transfer encoding. example: "octet-stream" or "application/json" |
###### Methods
#### def response.body
```go
response.body() string
```
output response body as a string
#### def response.json
```go
response.json()
```
attempt to parse resonse body as json, returning a JSON-decoded result