bool CGUL::Network::HTTPRequest::Request(String req, UInt32 timeout) { request = req; request += "\n\r\n"; return PerformRequest(timeout); }
/* * A typical FastCGI main program: Initialize, then loop * calling FCGI_Accept and performing the accepted request. * Do cleanup operations incrementally between requests. */ void main(void) { Initialize(); while(FCGI_Accept() >= 0) { PerformRequest(); FCGI_Finish(); GarbageCollectStep(); ConditionalCheckpoint(); } }
bool CGUL::Network::HTTPRequest::Head(String page, UInt32 timeout) { request = ""; request += "HEAD "; request += page + " HTTP/1.1"; request += "\r\nHost: "; request += host; request += "\r\nConnection: Keep-Alive"; request += "\r\n\r\n"; return PerformRequest(timeout); }
bool CGUL::Network::HTTPRequest::Get(String page, UInt32 timeout) { request = ""; request += "GET "; request += page + " HTTP/1.1"; request += "\r\nHost: "; request += host; request += "\r\nX-Target-URI: http://"; request += host; request += "\r\nConnection: Keep-Alive"; request += "\r\n\r\n"; return PerformRequest(timeout); }
bool CGUL::Network::HTTPRequest::Post(String page, CGUL::String content, UInt32 timeout) { request = ""; request += "POST "; request += page + " HTTP/1.1"; request += "\r\nHost: "; request += host; request += "\r\nConnection: Keep-Alive"; request += "\r\nContent-Length: "; request += content.GetSize(); request += "\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8"; request += "\r\n\r\n"; request += content; return PerformRequest(timeout); }
//------------------------------------------------------------------ //------------------------------------------------------------------ HttpRequest::HttpRequest(Type in_type, const std::string& in_url, const std::string& in_body, const CSCore::ParamDictionary& in_headers, u32 in_timeoutSecs, u32 in_maxBufferSize, const Delegate& in_delegate) : m_type(in_type), m_url(in_url), m_body(in_body), m_headers(in_headers), m_completionDelegate(in_delegate), m_timeoutSecs(in_timeoutSecs), m_maxBufferSize(in_maxBufferSize) { CS_ASSERT(m_completionDelegate, "Http request cannot have null delegate"); //Create a java BoxdPointer for this instance JavaClassUPtr boxedPointerClass = BoxedPointer::Box(this); //Create a java HttpRequest class definition JavaClassDef javaRequestClassDef("com/chilliworks/chillisource/networking/HttpRequest", "(Lcom/chilliworks/chillisource/core/BoxedPointer;)V"); javaRequestClassDef.AddMethod("performHttpRequest", "(Ljava/lang/String;Z[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;II)V"); javaRequestClassDef.AddMethod("getDownloadedBytes", "()J"); javaRequestClassDef.AddMethod("getExpectedSize", "()J"); //Create a java HttpRequest instance m_javaHttpRequest = JavaClassSPtr(new JavaClass(javaRequestClassDef, boxedPointerClass->GetJavaObject())); //Immediately make the request PerformRequest(); }