]> code.citadel.org Git - citadel.git/blobdiff - webcit/context_loop.c
I think this restores the previous REST-like behavior of the landing page
[citadel.git] / webcit / context_loop.c
index 04c5cf0a3ea714ecb6ed959fa97d4aeb5d87e23a..dc74601e1b9ecdf4cb161275c7b046efc21ceb29 100644 (file)
@@ -334,10 +334,10 @@ int ReadHttpSubject(ParsedHttpHdrs *Hdr, StrBuf *Line, StrBuf *Buf)
                );
        }
        else {
-               Hdr->HR.DontNeedAuth = 1; /* Flat request? show him the login screen... */
-               StrBuf *NewLine = NewStrBufPlain(HKEY("GET /readfwd?go="));
-               StrBufUrlescAppend(NewLine, Buf, NULL);
-               StrBufAppendBufPlain(NewLine, HKEY(" HTTP/1.0"), 0);
+               /* If this is a "flat" request for the root, display the configured landing page. */
+               Hdr->HR.DontNeedAuth = 1;
+               StrBuf *NewLine = NewStrBuf();
+               StrBufAppendPrintf(NewLine, "GET /landing?go=%s HTTP/1.0", ChrPtr(Buf));
                syslog(LOG_DEBUG, "Replacing with: %s", ChrPtr(NewLine));
                int return_value = ReadHttpSubject(Hdr, NewLine, Buf);
                FreeStrBuf(&NewLine);
@@ -714,7 +714,8 @@ const char *ReqStrs[eNONE] = {
        "DELETE",
        "HEAD",
        "MOVE",
-       "COPY"
+       "COPY",
+       "REPORT"
 };
 
 void
@@ -760,6 +761,10 @@ ServerStartModule_CONTEXT
        v = malloc(sizeof(long));
        *v = eCOPY;
        Put(HttpReqTypes, HKEY("COPY"), v, NULL);
+
+       v = malloc(sizeof(long));
+       *v = eREPORT;
+       Put(HttpReqTypes, HKEY("REPORT"), v, NULL);
 }
 
 void