1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 02:15:08 +00:00
serenity/LibGUI/GHttpRequest.cpp
Andreas Kling 8f30657390 Start working on a Downloader app and backing classes in LibGUI.
LibGUI is slowly becoming LibKitchensink but I'm okay with this for now.
2019-04-07 14:36:10 +02:00

45 lines
881 B
C++

#include <LibGUI/GHttpRequest.h>
#include <LibGUI/GHttpNetworkJob.h>
#include <LibGUI/GEventLoop.h>
#include <AK/StringBuilder.h>
GHttpRequest::GHttpRequest()
{
}
GHttpRequest::~GHttpRequest()
{
}
GNetworkJob* GHttpRequest::schedule()
{
auto* job = new GHttpNetworkJob(*this);
job->start();
return job;
}
String GHttpRequest::method_name() const
{
switch (m_method) {
case Method::GET:
return "GET";
case Method::HEAD:
return "HEAD";
case Method::POST:
return "POST";
default:
ASSERT_NOT_REACHED();
}
}
ByteBuffer GHttpRequest::to_raw_request() const
{
StringBuilder builder;
builder.append(method_name());
builder.append(' ');
builder.append(m_path);
builder.append(" HTTP/1.0\nHost: ");
builder.append(m_hostname);
builder.append("\n\n");
return builder.to_byte_buffer();
}