1 /* 2 * Copyright 2010-2017 Haiku Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _B_HTTP_RESULT_H_ 6 #define _B_HTTP_RESULT_H_ 7 8 9 #include <HttpHeaders.h> 10 #include <String.h> 11 #include <Url.h> 12 #include <UrlResult.h> 13 14 15 namespace BPrivate { 16 17 namespace Network { 18 19 20 class BUrlRequest; 21 22 23 class BHttpResult: public BUrlResult { 24 friend class BHttpRequest; 25 26 public: 27 BHttpResult(const BUrl& url); 28 BHttpResult(const BHttpResult& other); 29 ~BHttpResult(); 30 31 // Result parameters modifications 32 void SetUrl(const BUrl& url); 33 34 // Result parameters access 35 const BUrl& Url() const; 36 BString ContentType() const; 37 off_t Length() const; 38 39 // HTTP-Specific stuff 40 const BHttpHeaders& Headers() const; 41 const BString& StatusText() const; 42 int32 StatusCode() const; 43 44 // Result tests 45 bool HasHeaders() const; 46 47 // Overloaded members 48 BHttpResult& operator=(const BHttpResult& other); 49 50 private: 51 BUrl fUrl; 52 53 BHttpHeaders fHeaders; 54 int32 fStatusCode; 55 BString fStatusString; 56 }; 57 58 59 } // namespace Network 60 61 } // namespace BPrivate 62 63 #endif // _B_URL_RESULT_H_ 64