mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-13 07:19:46 +08:00
145 lines
3.3 KiB
Go
145 lines
3.3 KiB
Go
package httpboomer
|
|
|
|
func RunRequest(name string) *Request {
|
|
return &Request{
|
|
TStep: &TStep{
|
|
Name: name,
|
|
Variables: make(Variables),
|
|
},
|
|
}
|
|
}
|
|
|
|
type Request struct {
|
|
*TStep
|
|
}
|
|
|
|
func (req *Request) WithVariables(variables Variables) *Request {
|
|
req.TStep.Variables = variables
|
|
return req
|
|
}
|
|
|
|
func (req *Request) GET(url string) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Method = GET
|
|
req.TStep.Request.URL = url
|
|
return &RequestWithOptionalArgs{
|
|
TStep: req.TStep,
|
|
}
|
|
}
|
|
|
|
func (req *Request) HEAD(url string) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Method = HEAD
|
|
req.TStep.Request.URL = url
|
|
return &RequestWithOptionalArgs{
|
|
TStep: req.TStep,
|
|
}
|
|
}
|
|
|
|
func (req *Request) POST(url string) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Method = POST
|
|
req.TStep.Request.URL = url
|
|
return &RequestWithOptionalArgs{
|
|
TStep: req.TStep,
|
|
}
|
|
}
|
|
|
|
func (req *Request) PUT(url string) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Method = PUT
|
|
req.TStep.Request.URL = url
|
|
return &RequestWithOptionalArgs{
|
|
TStep: req.TStep,
|
|
}
|
|
}
|
|
|
|
func (req *Request) DELETE(url string) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Method = DELETE
|
|
req.TStep.Request.URL = url
|
|
return &RequestWithOptionalArgs{
|
|
TStep: req.TStep,
|
|
}
|
|
}
|
|
|
|
func (req *Request) OPTIONS(url string) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Method = OPTIONS
|
|
req.TStep.Request.URL = url
|
|
return &RequestWithOptionalArgs{
|
|
TStep: req.TStep,
|
|
}
|
|
}
|
|
|
|
func (req *Request) PATCH(url string) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Method = PATCH
|
|
req.TStep.Request.URL = url
|
|
return &RequestWithOptionalArgs{
|
|
TStep: req.TStep,
|
|
}
|
|
}
|
|
|
|
// implements IStep interface
|
|
type RequestWithOptionalArgs struct {
|
|
*TStep
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) SetVerify(verify bool) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Verify = verify
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) SetTimeout(timeout float32) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Timeout = timeout
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) SetProxies(proxies map[string]string) *RequestWithOptionalArgs {
|
|
// TODO
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) SetAllowRedirects(allowRedirects bool) *RequestWithOptionalArgs {
|
|
req.TStep.Request.AllowRedirects = allowRedirects
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) SetAuth(auth map[string]string) *RequestWithOptionalArgs {
|
|
// TODO
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) WithParams(params Params) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Params = params
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) WithHeaders(headers Headers) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Headers = headers
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) WithCookies(cookies Cookies) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Cookies = cookies
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) WithData(data interface{}) *RequestWithOptionalArgs {
|
|
req.TStep.Request.Data = data
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) WithJSON(json interface{}) *RequestWithOptionalArgs {
|
|
req.TStep.Request.JSON = json
|
|
return req
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) Validate() *StepRequestValidation {
|
|
return &StepRequestValidation{
|
|
TStep: req.TStep,
|
|
}
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) ToStruct() *TStep {
|
|
return req.TStep
|
|
}
|
|
|
|
func (req *RequestWithOptionalArgs) Run() error {
|
|
return req.TStep.Run()
|
|
}
|