]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
- added debugObj(); same as debug() put prints "objects" that have an objPack()
authorrousskov <>
Fri, 17 Jul 1998 10:49:59 +0000 (10:49 +0000)
committerrousskov <>
Fri, 17 Jul 1998 10:49:59 +0000 (10:49 +0000)
  method

src/HttpRequest.cc
src/internal.cc
src/protos.h
src/tools.cc

index 736392d10f19d9838fc0117450e3b6842246202b..0607704ab4b574c769ec4f085357b78b6d752483 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpRequest.cc,v 1.8 1998/07/02 17:39:41 wessels Exp $
+ * $Id: HttpRequest.cc,v 1.9 1998/07/17 04:49:59 rousskov Exp $
  *
  * DEBUG: section 73    HTTP Request
  * AUTHOR: Duane Wessels
@@ -94,23 +94,29 @@ httpRequestParseHeader(request_t * req, const char *parse_start)
     return httpHeaderParse(&req->header, blk_start, blk_end);
 }
 
-/* swaps out request-line and headers, appends <crlf> terminator */
+/* swaps out request using httpRequestPack */
 void
 httpRequestSwapOut(const request_t * req, StoreEntry * e)
 {
+    Packer p;
     assert(req && e);
-    /* store request-line */
-    storeAppendPrintf(e, "%s %s HTTP/1.0\r\n",
+    packerToStoreInit(&p, e);
+    httpRequestPack(req, &p);
+    packerClean(&p);
+}
+
+/* packs request-line and headers, appends <crlf> terminator */
+void
+httpRequestPack(const request_t * req, Packer *p)
+{
+    assert(req && p);
+    /* pack request-line */
+    packerPrintf(p, "%s %s HTTP/1.0\r\n",
        RequestMethodStr[req->method], strBuf(req->urlpath));
-    /* store headers */
-    {
-       Packer p;
-       packerToStoreInit(&p, e);
-       httpHeaderPackInto(&req->header, &p);
-       packerClean(&p);
-    }
+    /* headers */
+    httpHeaderPackInto(&req->header, p);
     /* trailer */
-    storeAppend(e, "\r\n", 2);
+    packerAppend(p, "\r\n", 2);
 }
 
 #if UNUSED_CODE
index e61f519929a1dff596d1c5cc71832c7d8549bd2c..ebafb462fbe3df48dd05214a01b5ba3c63bd5d63 100644 (file)
@@ -16,6 +16,7 @@ internalStart(request_t * request, StoreEntry * entry)
        netdbBinaryExchange(entry);
     else {
        debug(0, 0) ("internalStart: unknown request '%s'\n", upath);
+       debugObj(0,0, request, &httpRequestPack);
        err = errorCon(ERR_INVALID_REQ, HTTP_NOT_FOUND);
        err->request = requestLink(request);
        errorAppendEntry(entry, err);
index 4a61c503ab0ef734dc0ddbda6a592b55f4df27f6..66a6549be7ffe550cbcd1f78e8a5ea2c1d2b25f2 100644 (file)
@@ -424,6 +424,7 @@ extern request_t *requestLink(request_t *);
 extern void requestUnlink(request_t *);
 extern int httpRequestParseHeader(request_t * req, const char *parse_start);
 extern void httpRequestSwapOut(const request_t * req, StoreEntry * e);
+extern void httpRequestPack(const request_t * req, Packer *p);
 extern int httpRequestPrefixLen(const request_t * req);
 extern int httpRequestHdrAllowed(const HttpHeaderEntry * e, String * strConnection);
 
@@ -1015,6 +1016,8 @@ extern void carpInit(void);
 extern peer * carpSelectParent(request_t *);
 #endif
 
+/* packs, then prints an object using debug() */
+extern void debugObj(int section, int level, void *obj, void (*packMeth)(void *obj, Packer *p));
 
 /*
  * prototypes for system functions missing from system includes
index c2437397ffe46f8b0b1c5279fb2d36abfae586a5..e3f853b8b24e81bff8cac6bceeed7cd7ebf49f12 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: tools.cc,v 1.158 1998/06/08 17:29:21 wessels Exp $
+ * $Id: tools.cc,v 1.159 1998/07/17 04:50:01 rousskov Exp $
  *
  * DEBUG: section 21    Misc Functions
  * AUTHOR: Harvest Derived
@@ -895,3 +895,17 @@ gb_to_str(const gb_t * g)
        snprintf(buf, sizeof(GbBuf), "%.2f TB", value / 1e12);
     return buf;
 }
+
+void
+debugObj(int section, int level, void *obj, void (*packMeth)(void *obj, Packer *p))
+{
+    MemBuf mb;
+    Packer p;
+    assert(obj);
+    memBufDefInit(&mb);
+    packerToMemInit(&p, &mb);
+    (*packMeth)(obj, &p);
+    debug(section, level) ("%s", mb.buf);
+    packerClean(&p);
+    memBufClean(&mb);
+}