#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);
}
void updateSoupMessage(SoupMessage*) const;
SoupMessage* toSoupMessage() const;
void updateFromSoupMessage(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() {};
PassOwnPtr<CrossThreadResourceRequestData> doPlatformCopyData(PassOwnPtr<CrossThreadResourceRequestData> data) const { return data; }
void doPlatformAdopt(PassOwnPtr<CrossThreadResourceRequestData>) { }
};
struct CrossThreadResourceRequestData : public CrossThreadResourceRequestDataBase {
};
}
#endif // ResourceRequest_h