#ifndef ResourceRequest_h
#define ResourceRequest_h
#include "ResourceRequestBase.h"
#include <libsoup/soup.h>
namespace WebCore {
class ResourceRequest : public ResourceRequestBase {
public:
ResourceRequest(const String& url)
: ResourceRequestBase(KURL(ParsedURLString, url), UseProtocolCachePolicy)
, m_soupFlags(static_cast<SoupMessageFlags>(0))
{
}
ResourceRequest(const KURL& url)
: ResourceRequestBase(url, UseProtocolCachePolicy)
, m_soupFlags(static_cast<SoupMessageFlags>(0))
{
}
ResourceRequest(const KURL& url, const String& referrer, ResourceRequestCachePolicy policy = UseProtocolCachePolicy)
: ResourceRequestBase(url, policy)
, m_soupFlags(static_cast<SoupMessageFlags>(0))
{
setHTTPReferrer(referrer);
}
ResourceRequest()
: ResourceRequestBase(KURL(), UseProtocolCachePolicy)
, m_soupFlags(static_cast<SoupMessageFlags>(0))
{
}
ResourceRequest(SoupMessage* soupMessage)
: ResourceRequestBase(KURL(), UseProtocolCachePolicy)
, m_soupFlags(static_cast<SoupMessageFlags>(0))
{
updateFromSoupMessage(soupMessage);
}
SoupMessage* toSoupMessage() const;
void updateFromSoupMessage(SoupMessage* soupMessage);
SoupMessageFlags soupMessageFlags() const { return m_soupFlags; }
void setSoupMessageFlags(SoupMessageFlags soupFlags) { m_soupFlags = soupFlags; }
private:
friend class ResourceRequestBase;
SoupMessageFlags m_soupFlags;
void doUpdatePlatformRequest() {};
void doUpdateResourceRequest() {};
};
}
#endif // ResourceRequest_h