diff options
author | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
---|---|---|
committer | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
commit | 1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch) | |
tree | ab243607f74f78200787bba5b9b88f07ef1b966f /indra/llcorehttp/httpresponse.h | |
parent | 6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff) | |
parent | e1623bb276f83a43ce7a197e388720c05bdefe61 (diff) |
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
# autobuild.xml
# indra/cmake/CMakeLists.txt
# indra/cmake/GoogleMock.cmake
# indra/llaudio/llaudioengine_fmodstudio.cpp
# indra/llaudio/llaudioengine_fmodstudio.h
# indra/llaudio/lllistener_fmodstudio.cpp
# indra/llaudio/lllistener_fmodstudio.h
# indra/llaudio/llstreamingaudio_fmodstudio.cpp
# indra/llaudio/llstreamingaudio_fmodstudio.h
# indra/llcharacter/llmultigesture.cpp
# indra/llcharacter/llmultigesture.h
# indra/llimage/llimage.cpp
# indra/llimage/llimagepng.cpp
# indra/llimage/llimageworker.cpp
# indra/llimage/tests/llimageworker_test.cpp
# indra/llmessage/tests/llmockhttpclient.h
# indra/llprimitive/llgltfmaterial.h
# indra/llrender/llfontfreetype.cpp
# indra/llui/llcombobox.cpp
# indra/llui/llfolderview.cpp
# indra/llui/llfolderviewmodel.h
# indra/llui/lllineeditor.cpp
# indra/llui/lllineeditor.h
# indra/llui/lltextbase.cpp
# indra/llui/lltextbase.h
# indra/llui/lltexteditor.cpp
# indra/llui/lltextvalidate.cpp
# indra/llui/lltextvalidate.h
# indra/llui/lluictrl.h
# indra/llui/llview.cpp
# indra/llwindow/llwindowmacosx.cpp
# indra/newview/app_settings/settings.xml
# indra/newview/llappearancemgr.cpp
# indra/newview/llappearancemgr.h
# indra/newview/llavatarpropertiesprocessor.cpp
# indra/newview/llavatarpropertiesprocessor.h
# indra/newview/llbreadcrumbview.cpp
# indra/newview/llbreadcrumbview.h
# indra/newview/llbreastmotion.cpp
# indra/newview/llbreastmotion.h
# indra/newview/llconversationmodel.h
# indra/newview/lldensityctrl.cpp
# indra/newview/lldensityctrl.h
# indra/newview/llface.inl
# indra/newview/llfloatereditsky.cpp
# indra/newview/llfloatereditwater.cpp
# indra/newview/llfloateremojipicker.h
# indra/newview/llfloaterimsessiontab.cpp
# indra/newview/llfloaterprofiletexture.cpp
# indra/newview/llfloaterprofiletexture.h
# indra/newview/llgesturemgr.cpp
# indra/newview/llgesturemgr.h
# indra/newview/llimpanel.cpp
# indra/newview/llimpanel.h
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryclipboard.cpp
# indra/newview/llinventoryclipboard.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventoryfunctions.h
# indra/newview/llinventorygallery.cpp
# indra/newview/lllistbrowser.cpp
# indra/newview/lllistbrowser.h
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llpanelprofile.cpp
# indra/newview/llpanelprofile.h
# indra/newview/llpreviewgesture.cpp
# indra/newview/llsavedsettingsglue.cpp
# indra/newview/llsavedsettingsglue.h
# indra/newview/lltooldraganddrop.cpp
# indra/newview/llurllineeditorctrl.cpp
# indra/newview/llvectorperfoptions.cpp
# indra/newview/llvectorperfoptions.h
# indra/newview/llviewerparceloverlay.cpp
# indra/newview/llviewertexlayer.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/macmain.h
# indra/test/test.cpp
Diffstat (limited to 'indra/llcorehttp/httpresponse.h')
-rw-r--r-- | indra/llcorehttp/httpresponse.h | 288 |
1 files changed, 144 insertions, 144 deletions
diff --git a/indra/llcorehttp/httpresponse.h b/indra/llcorehttp/httpresponse.h index ef98fbef2b..99c8f1d2f9 100644 --- a/indra/llcorehttp/httpresponse.h +++ b/indra/llcorehttp/httpresponse.h @@ -24,8 +24,8 @@ * $/LicenseInfo$ */ -#ifndef _LLCORE_HTTP_RESPONSE_H_ -#define _LLCORE_HTTP_RESPONSE_H_ +#ifndef _LLCORE_HTTP_RESPONSE_H_ +#define _LLCORE_HTTP_RESPONSE_H_ #include <string> @@ -60,139 +60,139 @@ class HttpHeaders; class HttpResponse : public LLCoreInt::RefCounted { public: - HttpResponse(); + HttpResponse(); protected: - virtual ~HttpResponse(); // Use release() - - HttpResponse(const HttpResponse &); // Not defined - void operator=(const HttpResponse &); // Not defined - + virtual ~HttpResponse(); // Use release() + + HttpResponse(const HttpResponse &); // Not defined + void operator=(const HttpResponse &); // Not defined + public: - /// Statistics for the HTTP - struct TransferStats - { - typedef std::shared_ptr<TransferStats> ptr_t; - - TransferStats() : mSizeDownload(0.0), mTotalTime(0.0), mSpeedDownload(0.0) {} - F64 mSizeDownload; - F64 mTotalTime; - F64 mSpeedDownload; - }; - - - /// Returns the final status of the requested operation. - /// - HttpStatus getStatus() const - { - return mStatus; - } - - void setStatus(const HttpStatus & status) - { - mStatus = status; - } - - /// Simple getter for the response body returned as a scatter/gather - /// buffer. If the operation doesn't produce data (such as the Null - /// or StopThread operations), this may be NULL. - /// - /// Caller can hold onto the response by incrementing the reference - /// count of the returned object. - BufferArray * getBody() const - { - return mBufferArray; - } - - /// Safely get the size of the body buffer. If the body buffer is missing - /// return 0 as the size. - size_t getBodySize() const; - - /// Set the response data in the instance. Will drop the reference - /// count to any existing data and increment the count of that passed - /// in. It is legal to set the data to NULL. - void setBody(BufferArray * ba); - - /// And a getter for the headers. And as with @see getResponse(), - /// if headers aren't available because the operation doesn't produce - /// any or delivery of headers wasn't requested in the options, this - /// will be NULL. - /// - /// Caller can hold onto the headers by incrementing the reference - /// count of the returned object. - HttpHeaders::ptr_t getHeaders() const - { - return mHeaders; - } - - /// Behaves like @see setResponse() but for header data. - void setHeaders(HttpHeaders::ptr_t &headers); - - /// If a 'Range:' header was used, these methods are involved - /// in setting and returning data about the actual response. - /// If both @offset and @length are returned as 0, we probably - /// didn't get a Content-Range header in the response. This - /// occurs with various Capabilities-based services and the - /// caller is going to have to make assumptions on receipt of - /// a 206 status. The @full value may also be zero in cases of - /// parsing problems or a wild-carded length response. - /// - /// These values will not necessarily agree with the data in - /// the body itself (if present). The BufferArray object - /// is authoritative for actual data length. - void getRange(unsigned int * offset, unsigned int * length, unsigned int * full) const - { - *offset = mReplyOffset; - *length = mReplyLength; - *full = mReplyFullLength; - } - - void setRange(unsigned int offset, unsigned int length, unsigned int full_length) - { - mReplyOffset = offset; - mReplyLength = length; - mReplyFullLength = full_length; - } - - /// - const std::string & getContentType() const - { - return mContentType; - } - - void setContentType(const std::string & con_type) - { - mContentType = con_type; - } - - /// Get and set retry attempt information on the request. - void getRetries(unsigned int * retries, unsigned int * retries_503) const - { - if (retries) - { - *retries = mRetries; - } - if (retries_503) - { - *retries_503 = m503Retries; - } - } - - void setRetries(unsigned int retries, unsigned int retries_503) - { - mRetries = retries; - m503Retries = retries_503; - } - - void setTransferStats(TransferStats::ptr_t &stats) - { - mStats = stats; - } - - TransferStats::ptr_t getTransferStats() - { - return mStats; - } + /// Statistics for the HTTP + struct TransferStats + { + typedef std::shared_ptr<TransferStats> ptr_t; + + TransferStats() : mSizeDownload(0.0), mTotalTime(0.0), mSpeedDownload(0.0) {} + F64 mSizeDownload; + F64 mTotalTime; + F64 mSpeedDownload; + }; + + + /// Returns the final status of the requested operation. + /// + HttpStatus getStatus() const + { + return mStatus; + } + + void setStatus(const HttpStatus & status) + { + mStatus = status; + } + + /// Simple getter for the response body returned as a scatter/gather + /// buffer. If the operation doesn't produce data (such as the Null + /// or StopThread operations), this may be NULL. + /// + /// Caller can hold onto the response by incrementing the reference + /// count of the returned object. + BufferArray * getBody() const + { + return mBufferArray; + } + + /// Safely get the size of the body buffer. If the body buffer is missing + /// return 0 as the size. + size_t getBodySize() const; + + /// Set the response data in the instance. Will drop the reference + /// count to any existing data and increment the count of that passed + /// in. It is legal to set the data to NULL. + void setBody(BufferArray * ba); + + /// And a getter for the headers. And as with @see getResponse(), + /// if headers aren't available because the operation doesn't produce + /// any or delivery of headers wasn't requested in the options, this + /// will be NULL. + /// + /// Caller can hold onto the headers by incrementing the reference + /// count of the returned object. + HttpHeaders::ptr_t getHeaders() const + { + return mHeaders; + } + + /// Behaves like @see setResponse() but for header data. + void setHeaders(HttpHeaders::ptr_t &headers); + + /// If a 'Range:' header was used, these methods are involved + /// in setting and returning data about the actual response. + /// If both @offset and @length are returned as 0, we probably + /// didn't get a Content-Range header in the response. This + /// occurs with various Capabilities-based services and the + /// caller is going to have to make assumptions on receipt of + /// a 206 status. The @full value may also be zero in cases of + /// parsing problems or a wild-carded length response. + /// + /// These values will not necessarily agree with the data in + /// the body itself (if present). The BufferArray object + /// is authoritative for actual data length. + void getRange(unsigned int * offset, unsigned int * length, unsigned int * full) const + { + *offset = mReplyOffset; + *length = mReplyLength; + *full = mReplyFullLength; + } + + void setRange(unsigned int offset, unsigned int length, unsigned int full_length) + { + mReplyOffset = offset; + mReplyLength = length; + mReplyFullLength = full_length; + } + + /// + const std::string & getContentType() const + { + return mContentType; + } + + void setContentType(const std::string & con_type) + { + mContentType = con_type; + } + + /// Get and set retry attempt information on the request. + void getRetries(unsigned int * retries, unsigned int * retries_503) const + { + if (retries) + { + *retries = mRetries; + } + if (retries_503) + { + *retries_503 = m503Retries; + } + } + + void setRetries(unsigned int retries, unsigned int retries_503) + { + mRetries = retries; + m503Retries = retries_503; + } + + void setTransferStats(TransferStats::ptr_t &stats) + { + mStats = stats; + } + + TransferStats::ptr_t getTransferStats() + { + return mStats; + } void setRequestURL(const std::string &url) { @@ -215,23 +215,23 @@ public: } protected: - // Response data here - HttpStatus mStatus; - unsigned int mReplyOffset; - unsigned int mReplyLength; - unsigned int mReplyFullLength; - BufferArray * mBufferArray; - HttpHeaders::ptr_t mHeaders; - std::string mContentType; - unsigned int mRetries; - unsigned int m503Retries; + // Response data here + HttpStatus mStatus; + unsigned int mReplyOffset; + unsigned int mReplyLength; + unsigned int mReplyFullLength; + BufferArray * mBufferArray; + HttpHeaders::ptr_t mHeaders; + std::string mContentType; + unsigned int mRetries; + unsigned int m503Retries; std::string mRequestUrl; std::string mRequestMethod; - TransferStats::ptr_t mStats; + TransferStats::ptr_t mStats; }; } // end namespace LLCore -#endif // _LLCORE_HTTP_RESPONSE_H_ +#endif // _LLCORE_HTTP_RESPONSE_H_ |