Skip to content

Commit 8b03336

Browse files
committed
change
1 parent 284e4a7 commit 8b03336

File tree

1 file changed

+67
-20
lines changed

1 file changed

+67
-20
lines changed

request.go

Lines changed: 67 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
package request
22

33
import (
4-
"net/http"
5-
"net/url"
6-
"net"
74
"time"
8-
"crypto/tls"
5+
"fmt"
6+
"io/ioutil"
7+
"net/url"
98
"strings"
109
"io"
11-
"github.com/satori/go.uuid"
10+
"net"
11+
"crypto/tls"
12+
"net/http"
1213
"errors"
13-
"io/ioutil"
14-
"fmt"
1514
)
1615

16+
type Request interface {
17+
Post(url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain)
18+
Get(url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain)
19+
}
20+
1721
type chain struct {
1822
StartTime int64 `json:"start_time"`
1923
EndTime int64 `json:"end_time"`
@@ -22,23 +26,75 @@ type chain struct {
2226
Time time.Duration `json:"time"`
2327
}
2428

25-
func Post(url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain) {
26-
return send("POST", url, strings.NewReader(params.Encode()), headers, proxyUrl)
29+
type request struct{}
30+
31+
func NewRequest() (r *request) {
32+
return &request{}
2733
}
2834

29-
func Get(url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain) {
35+
func (r *request) Send(method string, url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain) {
36+
37+
var data string
38+
39+
if strings.ToUpper(method) == "GET" {
40+
if params != nil {
41+
url += "?" + params.Encode()
42+
}
43+
} else {
44+
if len(params.Get("")) > 0 {
45+
data = params.Get("")
46+
} else {
47+
data = params.Encode()
48+
}
49+
}
50+
51+
return send(method, url, strings.NewReader(data), headers, proxyUrl)
52+
}
53+
54+
func (r *request) Post(url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain) {
55+
var data string
56+
if len(params.Get("")) > 0 {
57+
data = params.Get("")
58+
} else {
59+
data = params.Encode()
60+
}
61+
return send("POST", url, strings.NewReader(data), headers, proxyUrl)
62+
}
63+
64+
func (r *request) Patch(url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain) {
65+
var data string
66+
if len(params.Get("")) > 0 {
67+
data = params.Get("")
68+
} else {
69+
data = params.Encode()
70+
}
71+
return send("PATCH", url, strings.NewReader(data), headers, proxyUrl)
72+
}
73+
74+
func (r *request) Get(url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain) {
3075
if params != nil {
3176
url += "?" + params.Encode()
3277
}
3378
return send("GET", url, nil, headers, proxyUrl)
3479
}
3580

81+
func (r *request) Put(url string, params url.Values, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain) {
82+
var data string
83+
if len(params.Get("")) > 0 {
84+
data = params.Get("")
85+
} else {
86+
data = params.Encode()
87+
}
88+
return send("PUT", url, strings.NewReader(data), headers, proxyUrl)
89+
}
90+
3691
func send(method string, httpUrl string, params io.Reader, headers map[string]string, proxyUrl string) (body []byte, err error, trans chain) {
3792

3893
startTime := time.Now().UnixNano()
3994

4095
var ch chain
4196

97+
ch.Url = httpUrl
4298
ch.StartTime = startTime
4399

44100
var res *http.Response
@@ -84,17 +140,8 @@ func send(method string, httpUrl string, params io.Reader, headers map[string]st
84140
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
85141
}
86142

87-
uid, _ := uuid.NewV4()
88-
89-
workerId := uid.String()
90-
91-
ch.WorkerId = workerId
92-
93-
request.Header.Set("Worker-Id", workerId)
94-
request.Header.Set("Token-Id", "X")
95-
request.Header.Set("Device-Id", "x.lattecake.com")
96-
request.Header.Set("Client-System", "X")
97143
request.Header.Set("Client-Time", time.Unix(0, time.Now().UnixNano()).Format("2006-01-02 15:04:05.999999"))
144+
request.Header.Set("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36")
98145

99146
res, err = client.Do(request)
100147
if err != nil {

0 commit comments

Comments
 (0)