botsgo

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2024 License: MIT Imports: 12 Imported by: 1

README

Preview

User-friendly module for communication with external API

Installation

go get github.com/botscommunity/botsgo

Getting Started

package main

import (
	"context"
	"github.com/botscommunity/botsgo"
	"net/http"
)

func main() {
	client, err := botsgo.NewClient("$URL")
	if err != nil {
		panic(err)
	}

	req, err := client.NewRequest(context.TODO())
	if err != nil {
		panic(err)
	}

	response := struct{}{}

	req.Method(http.MethodGet)
	req.Path("/$path")
	req.SetHeader("Authorization", "Bearer $TOKEN")
	req.Response(&response)

	res, err := req.Do()
	if err != nil {
		panic(err)
	}

	if err := res.Body.Close(); err != nil {
		panic(err)
	}
}

Help in solving problems

Join our friendly community where we collaborate on bot development. Feel free to ask questions in our chat rooms and share your thoughts.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	APIURL     string
	HTTPClient *http.Client
	JSONIter   jsoniter.API
	Logger     *zap.Logger
}

func NewClient

func NewClient(apiURL string) (*Client, error)

func (*Client) NewRequest

func (c *Client) NewRequest(context context.Context) (*Requester, error)

type MultiPart

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

func (*MultiPart) Buffer

func (mp *MultiPart) Buffer() (*bytes.Buffer, string, error)

func (*MultiPart) SetFormField

func (mp *MultiPart) SetFormField(fieldName string, value []byte) error

func (*MultiPart) SetFormFile

func (mp *MultiPart) SetFormFile(fieldName string, fileName string, file *os.File) error

type Requester

type Requester struct {
	HTTPRequest *http.Request
	BaseURL     *url.URL
	// contains filtered or unexported fields
}

func (*Requester) Body

func (r *Requester) Body(body []byte) *Requester

func (*Requester) Do

func (r *Requester) Do() (*http.Response, error)

func (*Requester) GetHeader

func (r *Requester) GetHeader(key string) string

func (*Requester) Method

func (r *Requester) Method(method string) *Requester

func (*Requester) NewMultiPart

func (r *Requester) NewMultiPart() *MultiPart

func (*Requester) Path

func (r *Requester) Path(path string) *Requester

func (*Requester) Response

func (r *Requester) Response(res any) *Requester

func (*Requester) SetHeader

func (r *Requester) SetHeader(key, value string) *Requester

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

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