diff options
Diffstat (limited to 'src/response.c')
| -rw-r--r-- | src/response.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/response.c b/src/response.c index 1000da6..d3411ae 100644 --- a/src/response.c +++ b/src/response.c @@ -1,18 +1,27 @@ #include "libhttpc.h" #include <stddef.h> +#include <stdio.h> #include <string.h> char *LibHTTPC_dumpResponse(struct LibHTTPC_Response *response, char *buf, size_t buf_len) { - if (!response->version || !response->status || !response->phrase) - return NULL; + char status[10]; + + if (!response->version) + response->version = "HTTP/1.1"; + if (!response->status) + response->status = 200; + if (!response->phrase) + response->phrase = LibHTTPC_dumpStatus(LibHTTPC_Status_OK); + + snprintf(status, sizeof(status), "%d", response->status); #define append(X) strncat(buf, (X), buf_len - strlen(buf)) append(response->version); append(""); - append(response->status); + append(status); append(" "); append(response->phrase); append("\r\n"); |