# # This file is part of gtkDS # # AF_INET = 2 linux & windows # AF_INET6 = 10 linux & 23 windows.. enumCode: SoupAddressFamily IPV4 = 2, IPV6 = 10 enumCode: end enumCode: SoupHttpVersion v1_0 = 0, v1_1 = 1 enumCode: end structCode: SoupDataBuffer Enum_SoupOwnership owner; char* bdy; uint length; structCode: end structCode: SoupMessage ubyte[12] parent; char* method; uint status_code; char* reason_phrase; Wrapped_SoupDataBuffer request; Wrapped_GHashTable* request_headers; Wrapped_SoupDataBuffer response; Wrapped_GHashTable* response_headers; Enum_SoupMessageStatus status; structCode: end wrap: soup jsPackage: Soup ########################################################### ### Soup HTTP Access ######################################### ########################################################### registerImports: gobject.bindinggobject registerImports: gthread.bindinggthread registerCode: start { g_type_init(); g_thread_init(null); } registerCode: end file: libsoup-Soup-Miscellaneous-Utilities.html #static? class: Soup jsClass: Soup ctype: static prefix: soup_ import: gobject.bindinggobject import: gobject.bindinggobjecttypes import: glib.bindingglibtypes import: glib.HashTable #import: gobject.bindinggobjecttypes #openFile: Soup outFile: Soup #file: libsoup-soup-status.html #class: Soup #jsClass: Soup #ctype: static #prefix: soup_ #closeFile: Soup file: SoupAddress.html struct: SoupAddress class: Address jsClass: Soup.Address prefix: soup_address_ outFile: Address file: SoupAuth.html struct: SoupAuth class: Auth jsClass: Soup.Auth prefix: soup_auth_ outFile: Auth file: SoupConnection.html struct: SoupConnection class: Connection jsClass: Soup.Connection prefix: soup_connection_ outFile: Connection file: SoupMessage.html struct: SoupMessage class: Message import: glib.HashTable jsClass: Soup.Message prefix: soup_message_ getter: request getter: response getter: responseHeaders response_headers getter: requestHeaders request_headers #fake funcitons.. jsfunc: void soup_message_request(SoupMessage* _arg_self); jscode: soup_message_request Wrapped_SoupMessage* _arg_self = cast(Wrapped_SoupMessage*) (othis.getStruct()); char[] rstring = _arg_self.request.bdy[0.._arg_self.request.length] ; ret.putVstring(rstring.dup); jscode: end jscode: soup_message_set_request Wrapped_SoupMessage* _arg_msg = cast(Wrapped_SoupMessage*) ((cast (Dobject)othis).getStruct()); char* _arg_content_type = arglist[0].vtype == V_NULL ? null : std.string.toStringz(arglist[0].toString()); Enum_SoupOwnership _arg_req_owner = cast(Enum_SoupOwnership) (arglist[1].toInteger()); char* _arg_req_body = arglist[2].vtype == V_NULL ? null : std.string.toStringz(arglist[2].toString()); uint _arg_req_length = cast(uint) (arglist[2].toString().length); soup_message_set_request(_arg_msg,_arg_content_type,_arg_req_owner,_arg_req_body, _arg_req_length); ret.putVundefined(); jscode: end #// since there is no point in adding headers to responses!!!! jsfunc: void soup_message_add_request_header(SoupMessage* _arg_self, char* name , char* value); jscode: soup_message_add_request_header Wrapped_SoupMessage* _arg_msg = cast(Wrapped_SoupMessage*) ((cast (Dobject)othis).getStruct()); char* _arg_name = arglist[0].vtype == V_NULL ? null : std.string.toStringz(arglist[0].toString()); char* _arg_value = arglist[1].vtype == V_NULL ? null : std.string.toStringz(arglist[1].toString()); soup_message_add_header(_arg_msg.request_headers,_arg_name,_arg_value); ret.putVundefined(); jscode: end jsfunc: void soup_message_response(SoupMessage* _arg_self); jscode: soup_message_response Wrapped_SoupMessage* _arg_self = cast(Wrapped_SoupMessage*) (othis.getStruct()); char[] rstring = _arg_self.response.bdy[0.._arg_self.response.length] ; ret.putVstring(rstring.dup); jscode: end jsfunc: void soup_message_request_headers(SoupMessage* _arg_self); jscode: soup_message_request_headers Wrapped_SoupMessage* _arg_self = cast(Wrapped_SoupMessage*) (othis.getStruct()); auto dob = new Dobject( Dobject.getPrototype()); soup_message_foreach_header(_arg_self.request_headers, cast(GHFunc) &headerforeach, cast(void *) dob); ret.putVobject(dob); jscode: end jsfunc: void soup_message_response_headers(SoupMessage* _arg_self); jscode: soup_message_response_headers Wrapped_SoupMessage* _arg_self = cast(Wrapped_SoupMessage*) (othis.getStruct()); auto dob = new Dobject( Dobject.getPrototype()); soup_message_foreach_header(_arg_self.response_headers, cast(GHFunc) &headerforeach, cast(void *) dob); ret.putVobject(dob); return null; } extern(C) static void headerforeach(void * key, void * value, void * _ret) { Dobject ret = cast(Dobject) _ret; if (ret.HasProperty(std.string.toString(cast(char*) key))) { ret.Put( std.string.toString(cast(char*) key), ret.Get(std.string.toString(cast(char*) key)).toString() ~ "\n" ~ std.string.toString(cast(char*) value), 0); return; } ret.Put(std.string.toString(cast(char*) key), std.string.toString(cast(char*) value), 0); } void * dummy() { jscode: end outFile: Message file: SoupMessage.html struct: SoupDataBuffer class: DataBuffer import: glib.HashTable jsClass: Soup.DataBuffer prefix: soup_databuffer_ outFile: DataBuffer file: SoupSocket.html struct: SoupSocket class: Socket jsClass: Soup.Socket prefix: soup_socket_ outFile: Socket file: SoupSession.html struct: SoupSession class: Session jsClass: Soup.Session prefix: soup_session_ outFile: Session file: SoupSessionSync.html struct: SoupSessionSync class: SessionSync jsClass: Soup.SessionSync prefix: soup_session_sync_ outFile: SessionSync file: SoupSessionAsync.html struct: SoupSessionAsync class: SessionAsync jsClass: Soup.SessionAsync prefix: soup_session_async_ outFile: SessionAsync