You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
816 B
46 lines
816 B
#include <string.h>
|
|
#include <stdio.h>
|
|
|
|
#include "http/response.h"
|
|
#include "http/header.h"
|
|
|
|
size_t
|
|
httpResponseToString(HttpResponse response, char * string)
|
|
{
|
|
int i;
|
|
size_t size = httpResponseSizeGet(response);
|
|
char status[4];
|
|
|
|
snprintf(status, 4, "%d", response->status);
|
|
|
|
strcpy(string, response->version);
|
|
string += strlen(string);
|
|
|
|
*string++ = ' ';
|
|
|
|
strcpy(string, status);
|
|
string += strlen(string);
|
|
|
|
*string++ = ' ';
|
|
|
|
strcpy(string, response->reason);
|
|
string += strlen(string);
|
|
|
|
*string++ = '\r';
|
|
*string++ = '\n';
|
|
|
|
for (i=0; i<response->nheader; i++) {
|
|
string += httpHeaderToString(response->header[i], string);
|
|
*string++ = '\r';
|
|
*string++ = '\n';
|
|
}
|
|
|
|
*string++ = '\r';
|
|
*string++ = '\n';
|
|
|
|
memcpy(string, response->body, response->nbody);
|
|
|
|
return size;
|
|
}
|
|
|
|
// vim: set ts=4 sw=4:
|