qhttprequest.cpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /*
  2. * Copyright 2011-2014 Nikhil Marathe <nsm.nikhil@gmail.com>
  3. *
  4. * Permission is hereby granted, free of charge, to any person obtaining a copy
  5. * of this software and associated documentation files (the "Software"), to
  6. * deal in the Software without restriction, including without limitation the
  7. * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  8. * sell copies of the Software, and to permit persons to whom the Software is
  9. * furnished to do so, subject to the following conditions:
  10. *
  11. * The above copyright notice and this permission notice shall be included in
  12. * all copies or substantial portions of the Software.
  13. *
  14. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  20. * IN THE SOFTWARE.
  21. */
  22. #include "qhttprequest.h"
  23. #include "qhttpconnection.h"
  24. QHttpRequest::QHttpRequest(QHttpConnection *connection, QObject *parent)
  25. : QObject(parent), m_connection(connection), m_url("http://localhost/"), m_success(false)
  26. {
  27. }
  28. QHttpRequest::~QHttpRequest()
  29. {
  30. }
  31. QString QHttpRequest::header(const QString &field)
  32. {
  33. return m_headers.value(field.toLower(), "");
  34. }
  35. const HeaderHash &QHttpRequest::headers() const
  36. {
  37. return m_headers;
  38. }
  39. const QString &QHttpRequest::httpVersion() const
  40. {
  41. return m_version;
  42. }
  43. const QUrl &QHttpRequest::url() const
  44. {
  45. return m_url;
  46. }
  47. const QString QHttpRequest::path() const
  48. {
  49. return m_url.path();
  50. }
  51. const QString QHttpRequest::methodString() const
  52. {
  53. return MethodToString(method());
  54. }
  55. QHttpRequest::HttpMethod QHttpRequest::method() const
  56. {
  57. return m_method;
  58. }
  59. const QString &QHttpRequest::remoteAddress() const
  60. {
  61. return m_remoteAddress;
  62. }
  63. quint16 QHttpRequest::remotePort() const
  64. {
  65. return m_remotePort;
  66. }
  67. void QHttpRequest::storeBody()
  68. {
  69. connect(this, SIGNAL(data(const QByteArray &)), this, SLOT(appendBody(const QByteArray &)),
  70. Qt::UniqueConnection);
  71. }
  72. QString QHttpRequest::MethodToString(HttpMethod method)
  73. {
  74. int index = staticMetaObject.indexOfEnumerator("HttpMethod");
  75. return staticMetaObject.enumerator(index).valueToKey(method);
  76. }
  77. void QHttpRequest::appendBody(const QByteArray &body)
  78. {
  79. m_body.append(body);
  80. }