[Groonga-commit] groonga/groonga at 125edcb [master] http: return "Connection:" and "Content-Length:" headers on error

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Oct 14 14:00:57 JST 2013


Kouhei Sutou	2013-10-14 14:00:57 +0900 (Mon, 14 Oct 2013)

  New Revision: 125edcba24244aa3064f19777a654db0a942c4de
  https://github.com/groonga/groonga/commit/125edcba24244aa3064f19777a654db0a942c4de

  Message:
    http: return "Connection:" and "Content-Length:" headers on error

  Modified files:
    src/groonga.c

  Modified: src/groonga.c (+20 -25)
===================================================================
--- src/groonga.c    2013-10-14 13:52:47 +0900 (fecf8ce)
+++ src/groonga.c    2013-10-14 14:00:57 +0900 (26c06a9)
@@ -659,33 +659,28 @@ h_output(grn_ctx *ctx, int flags, void *arg)
   if (!(flags & GRN_CTX_TAIL)) { return; }
   GRN_TEXT_INIT(&head, 0);
   GRN_TEXT_INIT(&foot, 0);
-  if (!expr_rc) {
-    output_envelope(ctx, expr_rc, &head, outbuf, &foot);
+  output_envelope(ctx, expr_rc, &head, outbuf, &foot);
+  switch (expr_rc) {
+  case GRN_SUCCESS :
     GRN_TEXT_SETS(ctx, body, "HTTP/1.1 200 OK\r\n");
-    GRN_TEXT_PUTS(ctx, body, "Connection: close\r\n");
-    GRN_TEXT_PUTS(ctx, body, "Content-Type: ");
-    GRN_TEXT_PUTS(ctx, body, grn_ctx_get_mime_type(ctx));
-    GRN_TEXT_PUTS(ctx, body, "\r\nContent-Length: ");
-    grn_text_lltoa(ctx, body,
-                   GRN_TEXT_LEN(&head) + GRN_TEXT_LEN(outbuf) + GRN_TEXT_LEN(&foot));
-    GRN_TEXT_PUTS(ctx, body, "\r\n\r\n");
-  } else {
-    output_envelope(ctx, expr_rc, &head, outbuf, &foot);
-    switch (expr_rc) {
-    case GRN_INVALID_ARGUMENT :
-      GRN_TEXT_SETS(ctx, body, "HTTP/1.1 400 Bad Request\r\n");
-      break;
-    case GRN_NO_SUCH_FILE_OR_DIRECTORY :
-      GRN_TEXT_SETS(ctx, body, "HTTP/1.1 404 Not Found\r\n");
-      break;
-    default :
-      GRN_TEXT_SETS(ctx, body, "HTTP/1.1 500 Internal Server Error\r\n");
-      break;
-    }
-    GRN_TEXT_PUTS(ctx, body, "Content-Type: ");
-    GRN_TEXT_PUTS(ctx, body, grn_ctx_get_mime_type(ctx));
-    GRN_TEXT_PUTS(ctx, body, "\r\n\r\n");
+    break;
+  case GRN_INVALID_ARGUMENT :
+    GRN_TEXT_SETS(ctx, body, "HTTP/1.1 400 Bad Request\r\n");
+    break;
+  case GRN_NO_SUCH_FILE_OR_DIRECTORY :
+    GRN_TEXT_SETS(ctx, body, "HTTP/1.1 404 Not Found\r\n");
+    break;
+  default :
+    GRN_TEXT_SETS(ctx, body, "HTTP/1.1 500 Internal Server Error\r\n");
+    break;
   }
+  GRN_TEXT_PUTS(ctx, body, "Connection: close\r\n");
+  GRN_TEXT_PUTS(ctx, body, "Content-Type: ");
+  GRN_TEXT_PUTS(ctx, body, grn_ctx_get_mime_type(ctx));
+  GRN_TEXT_PUTS(ctx, body, "\r\nContent-Length: ");
+  grn_text_lltoa(ctx, body,
+                 GRN_TEXT_LEN(&head) + GRN_TEXT_LEN(outbuf) + GRN_TEXT_LEN(&foot));
+  GRN_TEXT_PUTS(ctx, body, "\r\n\r\n");
   {
     ssize_t ret, len;
 #ifdef WIN32
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index