index.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package request
  2. import (
  3. "crypto/tls"
  4. "net/http"
  5. "net/url"
  6. "time"
  7. )
  8. func NewRequest() *Request {
  9. r := &Request{
  10. timeout: 30,
  11. headers: map[string]string{},
  12. cookies: map[string]string{},
  13. }
  14. return r
  15. }
  16. // Debug model
  17. func Debug(v bool) *Request {
  18. r := NewRequest()
  19. return r.Debug(v)
  20. }
  21. func Jar(v http.CookieJar) *Request {
  22. r := NewRequest()
  23. return r.Jar(v)
  24. }
  25. func DisableKeepAlives(v bool) *Request {
  26. r := NewRequest()
  27. return r.DisableKeepAlives(v)
  28. }
  29. func CheckRedirect(v func(req *http.Request, via []*http.Request) error) *Request {
  30. r := NewRequest()
  31. return r.CheckRedirect(v)
  32. }
  33. func TLSClient(v *tls.Config) *Request {
  34. r := NewRequest()
  35. return r.SetTLSClient(v)
  36. }
  37. func SetTLSClient(v *tls.Config) *Request {
  38. r := NewRequest()
  39. return r.SetTLSClient(v)
  40. }
  41. func SetHeaders(headers map[string]string) *Request {
  42. r := NewRequest()
  43. return r.SetHeaders(headers)
  44. }
  45. func SetCookies(cookies map[string]string) *Request {
  46. r := NewRequest()
  47. return r.SetCookies(cookies)
  48. }
  49. func SetBasicAuth(username, password string) *Request {
  50. r := NewRequest()
  51. return r.SetBasicAuth(username, password)
  52. }
  53. func JSON() *Request {
  54. r := NewRequest()
  55. return r.JSON()
  56. }
  57. func Proxy(v func(*http.Request) (*url.URL, error)) *Request {
  58. r := NewRequest()
  59. return r.Proxy(v)
  60. }
  61. func SetTimeout(d time.Duration) *Request {
  62. r := NewRequest()
  63. return r.SetTimeout(d)
  64. }
  65. func Transport(v *http.Transport) *Request {
  66. r := NewRequest()
  67. return r.Transport(v)
  68. }
  69. // Get is a get http request
  70. func Get(url string, data ...interface{}) (string, error) {
  71. r := NewRequest()
  72. return r.Get(url, data...)
  73. }
  74. func Post(url string, data ...interface{}) (string, error) {
  75. r := NewRequest()
  76. return r.Post(url, data...)
  77. }
  78. // Put is a put http request
  79. func Put(url string, data ...interface{}) (string, error) {
  80. r := NewRequest()
  81. return r.Put(url, data...)
  82. }
  83. // Delete is a delete http request
  84. func Delete(url string, data ...interface{}) (string, error) {
  85. r := NewRequest()
  86. return r.Delete(url, data...)
  87. }
  88. // Upload file
  89. func Upload(url, filename, fileinput string) (string, error) {
  90. r := NewRequest()
  91. return r.Upload(url, filename, fileinput)
  92. }