requestwork

package module
v0.0.0-...-5982b8b Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2022 License: MIT Imports: 4 Imported by: 8

README

requestwork

Go Report Card Build Status

a lib for go to batch processing send web request

Install

go get github.com/syhlion/requestwork.v2

Usage

func main() {

    // Init request
	req, err := http.NewRequest("GET", "http://tw.yahoo.com", nil)
	if err != nil {
		t.Error("request error: ", err)
	}

	// Init worker
	a := New(5)
	ctx, _ := context.WithTimeout(context.Background(), 30*time.Second)
	err = a.Execute(ctx, req, func(resp *http.Response, err error) error {

		if err != nil {
			return err
		}
		defer resp.Body.Close()
		return nil

	})
}

Documentation

Index

Constants

View Source
const DefaultMaxIdleConnPerHost = 20

DefaultMaxIdleConnPerHost max idle

Variables

This section is empty.

Functions

func NoProxyAllowed

func NoProxyAllowed(request *http.Request) (*url.URL, error)

NoProxyAllowed no proxy

Types

type Worker

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

Worker instance

func New

func New(threads int) *Worker

New return http worker

func (*Worker) CheckRedirect

func (w *Worker) CheckRedirect(f func(req *http.Request, via []*http.Request) error)

func (*Worker) Execute

func (w *Worker) Execute(req *http.Request, h func(resp *http.Response, err error) error) (err error)

Execute exec http request

func (*Worker) SetTransport

func (w *Worker) SetTransport(tr *http.Transport)

Jump to

Keyboard shortcuts

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