Documentation ¶
Index ¶
- type HttpClient
- type HttpMethod
- type HttpRequest
- type HttpRequestBody
- type HttpRequestHeaders
- func (r *HttpRequestHeaders) Add(key, value string) error
- func (r *HttpRequestHeaders) Get(key string) ([]string, error)
- func (r *HttpRequestHeaders) GetAll() (map[string][]string, error)
- func (r *HttpRequestHeaders) List() ([]string, error)
- func (r *HttpRequestHeaders) Set(key string, values ...string) error
- type HttpRequestMethod
- type HttpRequestOption
- type HttpResponse
- type HttpResponseBody
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HttpClient ¶
type HttpClient uint32
Example ¶
package main import ( "fmt" "io/ioutil" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{ClientId: 5, RequestId: 3, ResponseBody: []byte(`{"hello": "world"}`)}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com") if err != nil { return } if request.Headers().Set("Content-Type", "application/json") != nil { return } response, err := request.Do() if err != nil { return } body := response.Body() defer body.Close() data, err := ioutil.ReadAll(body) if err != nil { return } fmt.Println(string(data)) }
Output: {"hello": "world"}
func New ¶
func New() (HttpClient, error)
Example ¶
package main import ( "fmt" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{ClientId: 5}.Mock() httpClient, err := client.New() if err != nil { return } fmt.Printf("%d\n", httpClient) }
Output: 5
func (HttpClient) Request ¶
func (c HttpClient) Request(url string, options ...HttpRequestOption) (HttpRequest, error)
Example ¶
package main import ( "fmt" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{ClientId: 5, RequestId: 3}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request( "www.google.com", client.Headers(map[string][]string{"Content-Type": {"application/json"}}), client.Method("GET"), client.Body([]byte("Hello, world!")), ) if err != nil { fmt.Println("ERR", err) return } fmt.Printf("%d\n", request) }
Output: {3 5}
type HttpMethod ¶
type HttpMethod uint32
const ( UNKNOWN HttpMethod = iota GET POST PUT DELETE HEAD OPTIONS PATCH TRACE CONNECT )
type HttpRequest ¶
type HttpRequest struct {
// contains filtered or unexported fields
}
func (*HttpRequest) Body ¶
func (r *HttpRequest) Body() *HttpRequestBody
Example ¶
package main import ( "fmt" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" ) func main() { // Mocking the calls to the vm for usage in tests and playground m := symbols.MockData{}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com") if err != nil { return } err = request.Body().Set([]byte("Hello, world!")) if err != nil { return } fmt.Println(string(m.RequestBody)) }
Output: Hello, world!
func (*HttpRequest) Do ¶
func (r *HttpRequest) Do() (*HttpResponse, error)
Example ¶
package main import ( "fmt" "io/ioutil" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{ResponseBody: []byte("Hello, world!")}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com") if err != nil { return } response, err := request.Do() if err != nil { return } body := response.Body() data, err := ioutil.ReadAll(body) if err != nil { return } err = body.Close() if err != nil { return } fmt.Println(string(data)) }
Output: Hello, world!
func (*HttpRequest) Headers ¶
func (r *HttpRequest) Headers() *HttpRequestHeaders
func (*HttpRequest) Method ¶
func (r *HttpRequest) Method() *HttpRequestMethod
Example ¶
package main import ( "fmt" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com") if err != nil { return } err = request.Method().Set("POST") if err != nil { return } method, err := request.Method().Get() if err != nil { return } fmt.Println(method) }
Output: POST
type HttpRequestBody ¶
type HttpRequestBody HttpRequest
func (*HttpRequestBody) Set ¶
func (r *HttpRequestBody) Set(data []byte) error
type HttpRequestHeaders ¶
type HttpRequestHeaders HttpRequest
func (*HttpRequestHeaders) Add ¶
func (r *HttpRequestHeaders) Add(key, value string) error
Example ¶
package main import ( "fmt" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com") if err != nil { return } err = request.Headers().Add("fruits", "apple") if err != nil { return } fmt.Println("Success") }
Output: Success
func (*HttpRequestHeaders) Get ¶
func (r *HttpRequestHeaders) Get(key string) ([]string, error)
Example ¶
package main import ( "fmt" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" "bitbucket.org/taubyte/go-sdk/utils/slices" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com", client.Headers(map[string][]string{ "fruits": {"banana", "orange"}, })) if err != nil { return } headers, err := request.Headers().Get("fruits") if err != nil { return } if slices.Contains(headers, "banana") == false || slices.Contains(headers, "orange") == false { return } fmt.Println("Success") }
Output: Success
func (*HttpRequestHeaders) GetAll ¶
func (r *HttpRequestHeaders) GetAll() (map[string][]string, error)
Example ¶
package main import ( "fmt" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" "bitbucket.org/taubyte/go-sdk/utils/slices" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com", client.Headers(map[string][]string{ "fruits": {"banana", "orange"}, "Content-Type": {"application/json"}, })) if err != nil { return } headers, err := request.Headers().GetAll() if err != nil { return } fruits := headers["fruits"] if slices.Contains(fruits, "banana") == false || slices.Contains(fruits, "orange") == false { return } if slices.Contains(headers["Content-Type"], "application/json") == false { return } fmt.Println("Success") }
Output: Success
func (*HttpRequestHeaders) List ¶
func (r *HttpRequestHeaders) List() ([]string, error)
Example ¶
package main import ( "fmt" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" "bitbucket.org/taubyte/go-sdk/utils/slices" ) func main() { // Mocking the calls to the vm for usage in tests and playground symbols.MockData{}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com", client.Headers(map[string][]string{ "fruits": {"banana"}, "Content-Type": {"application/json"}, })) if err != nil { return } headerKeys, err := request.Headers().List() if err != nil { return } if slices.Contains(headerKeys, "fruits") == false || slices.Contains(headerKeys, "Content-Type") == false { return } fmt.Println("Success") }
Output: Success
func (*HttpRequestHeaders) Set ¶
func (r *HttpRequestHeaders) Set(key string, values ...string) error
Example ¶
package main import ( "fmt" "strings" symbols "bitbucket.org/taubyte/go-sdk-symbols/http/client" "bitbucket.org/taubyte/go-sdk/http/client" "bitbucket.org/taubyte/go-sdk/utils/slices" ) func main() { // Mocking the calls to the vm for usage in tests and playground m := symbols.MockData{}.Mock() httpClient, err := client.New() if err != nil { return } request, err := httpClient.Request("google.com") if err != nil { return } testHeaders := map[string][]string{ "content-type": {"json", "yaml"}, "fruits": {"apple", "orange"}, } for key, values := range testHeaders { err = request.Headers().Set(key, values...) if err != nil { return } } for key, values := range testHeaders { for _, v := range values { if slices.Contains(m.Headers[key], v) == false { fmt.Printf("Expected %s to contain %s", strings.Join(testHeaders[key], ", \n"), v) return } } } err = request.Headers().Set("fruits", "banana") if err != nil { return } fruits := m.Headers["fruits"] if len(fruits) != 1 || fruits[0] != "banana" { return } fmt.Println("Success") }
Output: Success
type HttpRequestMethod ¶
type HttpRequestMethod HttpRequest
func (*HttpRequestMethod) Get ¶
func (r *HttpRequestMethod) Get() (string, error)
func (*HttpRequestMethod) Set ¶
func (r *HttpRequestMethod) Set(method string) error
type HttpRequestOption ¶
type HttpRequestOption func(HttpRequest) error
func Body ¶
func Body(data []byte) HttpRequestOption
func Headers ¶
func Headers(headers map[string][]string) HttpRequestOption
func Method ¶
func Method(method string) HttpRequestOption
type HttpResponse ¶
type HttpResponse struct {
// contains filtered or unexported fields
}
func (*HttpResponse) Body ¶
func (resp *HttpResponse) Body() *HttpResponseBody
type HttpResponseBody ¶
type HttpResponseBody HttpResponse
func (*HttpResponseBody) Close ¶
func (resp *HttpResponseBody) Close() error
Click to show internal directories.
Click to hide internal directories.