Adds function addPostDataRaw

This commit is contained in:
Eero Kelly 2016-03-01 22:40:26 -05:00
parent b0c5a3c87d
commit 12a5fa297a
2 changed files with 40 additions and 0 deletions

View File

@ -67,6 +67,14 @@ Result httpcAddRequestHeaderField(httpcContext *context, char* name, char* value
*/ */
Result httpcAddPostDataAscii(httpcContext *context, char* name, char* value); Result httpcAddPostDataAscii(httpcContext *context, char* name, char* value);
/**
* @brief Adds a POST body to a HTTP context.
* @param context Context to use.
* @param data The data to be passed as raw into the body of the post request.
* @param len Length of data passed by data param.
*/
Result httpcAddPostDataRaw(httpcContext *context, u32* data, u32 len);
/** /**
* @brief Begins a HTTP request. * @brief Begins a HTTP request.
* @param context Context to use. * @param context Context to use.
@ -178,6 +186,15 @@ Result HTTPC_AddRequestHeaderField(Handle handle, Handle contextHandle, char* na
*/ */
Result HTTPC_AddPostDataAscii(Handle handle, Handle contextHandle, char* name, char* value); Result HTTPC_AddPostDataAscii(Handle handle, Handle contextHandle, char* name, char* value);
/**
* @brief Adds a POST body to a HTTP context.
* @param handle HTTPC service handle to use.
* @param contextHandle HTTP context handle to use.
* @param data Data to be passed as raw into the body of the post request.
* @param len Length of data passed by data param.
*/
Result HTTPC_AddPostDataRaw(Handle handle, Handle contextHandle, u32* data, u32 len);
/** /**
* @brief Begins a HTTP request. * @brief Begins a HTTP request.
* @param handle HTTPC service handle to use. * @param handle HTTPC service handle to use.

View File

@ -126,6 +126,11 @@ Result httpcAddPostDataAscii(httpcContext *context, char* name, char* value)
return HTTPC_AddPostDataAscii(context->servhandle, context->httphandle, name, value); return HTTPC_AddPostDataAscii(context->servhandle, context->httphandle, name, value);
} }
Result httpcAddPostDataRaw(httpcContext *context, u32* data, u32 len)
{
return HTTPC_AddPostDataRaw(context->servhandle, context->httphandle, data, len);
}
Result httpcBeginRequest(httpcContext *context) Result httpcBeginRequest(httpcContext *context)
{ {
return HTTPC_BeginRequest(context->servhandle, context->httphandle); return HTTPC_BeginRequest(context->servhandle, context->httphandle);
@ -305,6 +310,24 @@ Result HTTPC_AddPostDataAscii(Handle handle, Handle contextHandle, char* name, c
return cmdbuf[1]; return cmdbuf[1];
} }
Result HTTPC_AddPostDataRaw(Handle handle, Handle contextHandle, u32* data, u32 len)
{
u32* cmdbuf=getThreadCommandBuffer();
cmdbuf[0]=IPC_MakeHeader(0x14, 2, 2); // 0x140082
cmdbuf[1]=contextHandle;
cmdbuf[2]=len;
cmdbuf[3]=IPC_Desc_Buffer(len, IPC_BUFFER_R);
cmdbuf[4]=(u32)data;
Result ret=0;
if(R_FAILED(ret=svcSendSyncRequest(handle)))
{
return ret;
}
return cmdbuf[1];
}
Result HTTPC_BeginRequest(Handle handle, Handle contextHandle) Result HTTPC_BeginRequest(Handle handle, Handle contextHandle)
{ {
u32* cmdbuf=getThreadCommandBuffer(); u32* cmdbuf=getThreadCommandBuffer();