192 lines
3.9 KiB
Go
192 lines
3.9 KiB
Go
package requests
|
|
|
|
import (
|
|
"io"
|
|
"time"
|
|
)
|
|
|
|
const (
|
|
RPC = "RPC"
|
|
ROA = "ROA"
|
|
|
|
HTTP = "HTTP"
|
|
HTTPS = "HTTPS"
|
|
|
|
DefaultHttpPort = "80"
|
|
|
|
GET = "GET"
|
|
PUT = "PUT"
|
|
POST = "POST"
|
|
DELETE = "DELETE"
|
|
PATCH = "PATCH"
|
|
HEAD = "HEAD"
|
|
OPTIONS = "OPTIONS"
|
|
|
|
Json = "application/json"
|
|
Xml = "application/xml"
|
|
Raw = "application/octet-stream"
|
|
Form = "application/x-www-form-urlencoded"
|
|
|
|
Header = "Header"
|
|
Query = "Query"
|
|
Body = "Body"
|
|
Path = "Path"
|
|
|
|
HeaderSeparator = "\n"
|
|
)
|
|
|
|
type AcsRequest interface {
|
|
GetReadTimeout() time.Duration
|
|
GetConnectTimeout() time.Duration
|
|
SetReadTimeout(readTimeOut time.Duration)
|
|
SetConnectTimeout(connectTimeOut time.Duration)
|
|
SetHTTPSInsecure(isInsecure bool)
|
|
GetHTTPSInsecure() *bool
|
|
GetQueryParams() map[string]string
|
|
GetFormParams() map[string]string
|
|
GetMethod() string
|
|
GetScheme() string
|
|
GetDomain() string
|
|
GetActionName() string
|
|
GetAcceptFormat() string
|
|
GetHeaders() map[string]string
|
|
|
|
BuildUrl() string
|
|
BuildQueries() string
|
|
|
|
SetScheme(scheme string)
|
|
SetDomain(host string)
|
|
SetStringToSign(stringToSign string)
|
|
GetBodyReader() io.Reader
|
|
|
|
addHeaderParam(key, value string)
|
|
addQueryParam(key, value string)
|
|
addFormParam(key, value string)
|
|
}
|
|
|
|
type baseRequest struct {
|
|
Scheme string
|
|
Method string
|
|
Port string
|
|
Domain string
|
|
From string
|
|
ReadTimeout time.Duration
|
|
ConnectTimeout time.Duration
|
|
isInsecure *bool
|
|
|
|
AcceptFormat string
|
|
actionName string
|
|
|
|
userAgent map[string]string
|
|
product string
|
|
version string
|
|
|
|
QueryParams map[string]string
|
|
Headers map[string]string
|
|
FormParams map[string]string
|
|
Content []byte
|
|
|
|
queries string
|
|
stringToSign string
|
|
}
|
|
|
|
func (request *baseRequest) GetAcceptFormat() string {
|
|
return request.AcceptFormat
|
|
}
|
|
|
|
func (request *baseRequest) GetHeaders() map[string]string {
|
|
return request.Headers
|
|
}
|
|
|
|
func (request *baseRequest) GetActionName() string {
|
|
return request.actionName
|
|
}
|
|
|
|
func (request *baseRequest) SetScheme(scheme string) {
|
|
request.Scheme = scheme
|
|
}
|
|
|
|
func (request *baseRequest) SetDomain(host string) {
|
|
request.Domain = host
|
|
}
|
|
|
|
func (request *baseRequest) GetScheme() string {
|
|
return request.Scheme
|
|
}
|
|
|
|
func (request *baseRequest) GetDomain() string {
|
|
return request.Domain
|
|
}
|
|
|
|
func (request *baseRequest) GetMethod() string {
|
|
return request.Method
|
|
}
|
|
|
|
func (request *baseRequest) GetFormParams() map[string]string {
|
|
return request.FormParams
|
|
}
|
|
|
|
func (request *baseRequest) GetQueryParams() map[string]string {
|
|
return request.QueryParams
|
|
}
|
|
|
|
func (request *baseRequest) SetHTTPSInsecure(isInsecure bool) {
|
|
request.isInsecure = &isInsecure
|
|
}
|
|
|
|
func (request *baseRequest) GetHTTPSInsecure() *bool {
|
|
return request.isInsecure
|
|
}
|
|
|
|
func (request *baseRequest) GetReadTimeout() time.Duration {
|
|
return request.ReadTimeout
|
|
}
|
|
|
|
func (request *baseRequest) GetConnectTimeout() time.Duration {
|
|
return request.ConnectTimeout
|
|
}
|
|
|
|
func (request *baseRequest) SetReadTimeout(readTimeOut time.Duration) {
|
|
request.ReadTimeout = readTimeOut
|
|
}
|
|
|
|
func (request *baseRequest) SetConnectTimeout(connectTimeOut time.Duration) {
|
|
request.ConnectTimeout = connectTimeOut
|
|
}
|
|
|
|
func (request *baseRequest) SetStringToSign(stringToSign string) {
|
|
request.stringToSign = stringToSign
|
|
}
|
|
|
|
func (request *baseRequest) addHeaderParam(key, val string) {
|
|
request.Headers[key] = val
|
|
}
|
|
|
|
func (request *baseRequest) addQueryParam(key, val string) {
|
|
request.QueryParams[key] = val
|
|
}
|
|
|
|
func (request *baseRequest) addFormParam(key, val string) {
|
|
request.FormParams[key] = val
|
|
}
|
|
|
|
func defaultBaseRequest() (request *baseRequest) {
|
|
request = &baseRequest{
|
|
Scheme: HTTP,
|
|
AcceptFormat: "JSON",
|
|
Method: GET,
|
|
QueryParams: make(map[string]string),
|
|
Headers: map[string]string{
|
|
"x-sdk-client": "golang/1.0.0",
|
|
"x-sdk-invoke-type": "normal",
|
|
"Accept-Encoding": "identity",
|
|
},
|
|
FormParams: make(map[string]string),
|
|
}
|
|
return
|
|
}
|
|
|
|
func InitParam(request AcsRequest) (err error) {
|
|
return nil
|
|
}
|