Implement HTTPC:AddPostDataBinary (#352)

This commit is contained in:
Kartik 2017-04-05 19:19:05 +05:30 committed by fincs
parent 422c3c3272
commit 8ada484dad
2 changed files with 30 additions and 0 deletions

View File

@ -82,6 +82,15 @@ Result httpcAddRequestHeaderField(httpcContext *context, const char* name, const
*/ */
Result httpcAddPostDataAscii(httpcContext *context, const char* name, const char* value); Result httpcAddPostDataAscii(httpcContext *context, const char* name, const char* value);
/**
* @brief Adds a POST form field with binary data to a HTTP context.
* @param context Context to use.
* @param name Name of the field.
* @param value The binary data to pass as a value.
* @param len Length of the binary data which has been passed.
*/
Result httpcAddPostDataBinary(httpcContext *context, const char* name, const u8* value, u32 len);
/** /**
* @brief Adds a POST body to a HTTP context. * @brief Adds a POST body to a HTTP context.
* @param context Context to use. * @param context Context to use.

View File

@ -303,6 +303,27 @@ Result httpcAddPostDataAscii(httpcContext *context, const char* name, const char
return cmdbuf[1]; return cmdbuf[1];
} }
Result httpcAddPostDataBinary(httpcContext *context, const char* name, const u8* value, u32 len)
{
u32* cmdbuf=getThreadCommandBuffer();
int name_len=strlen(name)+1;
cmdbuf[0]=IPC_MakeHeader(0x13, 3, 4); // 0x1300C4
cmdbuf[1]=context->httphandle;
cmdbuf[2]=name_len;
cmdbuf[3]=len;
cmdbuf[4]=IPC_Desc_StaticBuffer(name_len,3);
cmdbuf[5]=(u32)name;
cmdbuf[6]=IPC_Desc_Buffer(len,IPC_BUFFER_R);
cmdbuf[7]=(u32)value;
Result ret=0;
if(R_FAILED(ret=svcSendSyncRequest(context->servhandle)))return ret;
return cmdbuf[1];
}
Result httpcAddPostDataRaw(httpcContext *context, const u32* data, u32 len) Result httpcAddPostDataRaw(httpcContext *context, const u32* data, u32 len)
{ {
u32* cmdbuf=getThreadCommandBuffer(); u32* cmdbuf=getThreadCommandBuffer();