#include "config.h"
#include "TransferJob.h"
#include "TransferJobInternal.h"
#include "LoaderFunctions.h"
#include "Logging.h"
namespace WebCore {
TransferJob::TransferJob(TransferJobClient* client, const String& method, const KURL& url)
: d(new TransferJobInternal(this, client, method, url))
{
}
TransferJob::TransferJob(TransferJobClient* client, const String& method, const KURL& url, const FormData& postData)
: d(new TransferJobInternal(this, client, method, url, postData))
{
}
bool TransferJob::isErrorPage() const
{
return d->status != 0;
}
int TransferJob::error() const
{
return d->status;
}
void TransferJob::setError(int e)
{
d->status = e;
}
String TransferJob::queryMetaData(const String& key) const
{
if (key == "HTTP-Headers") {
assembleResponseHeaders();
return d->responseHeaders;
}
if (key == "charset")
retrieveCharset();
return d->metaData.get(key);
}
void TransferJob::addMetaData(const String& key, const String& value)
{
d->metaData.set(key, value);
}
void TransferJob::addMetaData(const HashMap<String, String>& keysAndValues)
{
HashMap<String, String>::const_iterator end = keysAndValues.end();
for (HashMap<String, String>::const_iterator it = keysAndValues.begin(); it != end; ++it)
d->metaData.set(it->first, it->second);
}
void TransferJob::kill()
{
delete this;
}
KURL TransferJob::url() const
{
return d->URL;
}
FormData TransferJob::postData() const
{
return d->postData;
}
String TransferJob::method() const
{
return d->method;
}
TransferJobClient* TransferJob::client() const
{
return d->client;
}
}