about summary refs log tree commit diff
path: root/src/response.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/response.c')
-rw-r--r--src/response.c15
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");