Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

52 строки
1.2 KiB

  1. package requests
  2. import (
  3. "fmt"
  4. "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/utils"
  5. "io"
  6. "strings"
  7. )
  8. type HttpRequest struct {
  9. *baseRequest
  10. }
  11. func (request *HttpRequest) init() {
  12. request.baseRequest = defaultBaseRequest()
  13. request.Method = POST
  14. }
  15. func (request *HttpRequest) BuildUrl() string {
  16. url := fmt.Sprintf("%s://%s", strings.ToLower(request.Scheme), request.Domain)
  17. if len(request.Port) > 0 {
  18. url = fmt.Sprintf("%s:%s", url, request.Port)
  19. }
  20. return url + request.BuildQueries()
  21. }
  22. func (request *HttpRequest) BuildQueries() string {
  23. path := strings.TrimLeft(strings.TrimSpace(request.GetActionName()), "/")
  24. request.queries = "/" + path + "?" + utils.GetUrlFormedMap(request.QueryParams)
  25. return request.queries
  26. }
  27. func (request *HttpRequest) GetActionName() string {
  28. return request.actionName
  29. }
  30. func (request *HttpRequest) InitWithApiInfo(domain, version, urlPath string) {
  31. request.init()
  32. request.SetDomain(domain)
  33. request.version = version
  34. request.actionName = urlPath
  35. }
  36. func (request *HttpRequest) GetBodyReader() io.Reader {
  37. if request.FormParams != nil && len(request.FormParams) > 0 {
  38. formString := utils.GetUrlFormedMap(request.FormParams)
  39. return strings.NewReader(formString)
  40. } else {
  41. return strings.NewReader("")
  42. }
  43. }