stas        2004/05/12 18:45:30

  Modified:    src/modules/perl modperl_filter.c
  Log:
  - better tracing (show the actual data as in modperl_io_apache.c)
  - extra comments
  
  Revision  Changes    Path
  1.89      +28 -17    modperl-2.0/src/modules/perl/modperl_filter.c
  
  Index: modperl_filter.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v
  retrieving revision 1.88
  retrieving revision 1.89
  diff -u -u -r1.88 -r1.89
  --- modperl_filter.c  4 May 2004 06:19:11 -0000       1.88
  +++ modperl_filter.c  13 May 2004 01:45:30 -0000      1.89
  @@ -139,8 +139,8 @@
           const char *body;
           int status;
   
  -        MP_TRACE_f(MP_FUNC, "\n\n\tparsing headers: %d bytes [%s]\n", len,
  -                   apr_pstrmemdup(wb->pool, buf, len));
  +        MP_TRACE_f(MP_FUNC, "\n\n\tparsing headers: %db [%s]\n", len,
  +                   MP_TRACE_STR_TRUNC(wb->pool, buf, len));
           
           status = modperl_cgi_header_parse(r, (char *)buf, &len, &body);
   
  @@ -176,9 +176,10 @@
           APR_BRIGADE_INSERT_TAIL(bb, bucket);
       }
   
  -    MP_TRACE_f(MP_FUNC, "\n\n\twrite out: %d bytes\n"
  +    MP_TRACE_f(MP_FUNC, "\n\n\twrite out: %db [%s]\n"
                  "\t\tfrom %s\n\t\tto %s filter handler\n",
                  len, 
  +               MP_TRACE_STR_TRUNC(wb->pool, buf, len),
                  ((wb->r && wb->filters == &wb->r->output_filters)
                      ? "response handler" : "current filter handler"),
                  MP_FILTER_NAME(*(wb->filters)));
  @@ -589,17 +590,19 @@
       /*modperl_brigade_dump(filter->bb_in, stderr);*/
   
       MP_TRACE_f(MP_FUNC, MP_FILTER_NAME_FORMAT
  -               "wanted: %d bytes\n",
  +               "wanted: %db\n",
                  MP_FILTER_NAME(filter->f),
                  wanted);
   
       if (filter->remaining) {
           if (filter->remaining >= wanted) {
               MP_TRACE_f(MP_FUNC, MP_FILTER_NAME_FORMAT
  -                       "eating and returning %d of "
  -                       "remaining %d leftover bytes\n",
  +                       "eating and returning %d [%s]\n\tof "
  +                       "remaining %db\n",
                          MP_FILTER_NAME(filter->f),
  -                       wanted, filter->remaining);
  +                       wanted,
  +                       MP_TRACE_STR_TRUNC(filter->pool, filter->leftover, wanted),
  +                       filter->remaining);
               sv_catpvn(buffer, filter->leftover, wanted);
               filter->leftover += wanted;
               filter->remaining -= wanted;
  @@ -607,7 +610,7 @@
           }
           else {
               MP_TRACE_f(MP_FUNC, MP_FILTER_NAME_FORMAT
  -                       "eating remaining %d leftover bytes\n",
  +                       "eating remaining %db\n",
                          MP_FILTER_NAME(filter->f),
                          filter->remaining);
               sv_catpvn(buffer, filter->leftover, filter->remaining);
  @@ -632,7 +635,7 @@
           if (filter->rc == APR_SUCCESS) {
               MP_TRACE_f(MP_FUNC,
                          MP_FILTER_NAME_FORMAT
  -                       "read in: %s bucket with %d bytes (0x%lx)\n",
  +                       "read in: %s bucket with %db (0x%lx)\n",
                          MP_FILTER_NAME(filter->f),
                          filter->bucket->type->name,
                          buf_len,
  @@ -665,9 +668,10 @@
   
       MP_TRACE_f(MP_FUNC,
                  MP_FILTER_NAME_FORMAT
  -               "return: %d bytes from %d bucket%s (%d bytes leftover)\n",
  +               "return: %db from %d bucket%s [%s]\n\t(%db leftover)\n",
                  MP_FILTER_NAME(filter->f),
                  len, num_buckets, ((num_buckets == 1) ? "" : "s"),
  +               MP_TRACE_STR_TRUNC(filter->pool, SvPVX(buffer), len),
                  filter->remaining);
   
       return len;
  @@ -785,11 +789,10 @@
       apr_bucket_alloc_t *ba = filter->f->c->bucket_alloc;
       char *copy = apr_pmemdup(filter->pool, buf, *len);
       apr_bucket *bucket = apr_bucket_transient_create(copy, *len, ba);
  -    /* MP_TRACE_f(MP_FUNC, "writing %d bytes: %s\n", *len, copy); */
       MP_TRACE_f(MP_FUNC, MP_FILTER_NAME_FORMAT
  -               "write out: %d bytes:\n",
  -               MP_FILTER_NAME(filter->f),
  -               *len);
  +               "write out: %db [%s]:\n",
  +               MP_FILTER_NAME(filter->f), *len,
  +               MP_TRACE_STR_TRUNC(filter->pool, copy, *len));
       APR_BRIGADE_INSERT_TAIL(filter->bb_out, bucket);
       /* modperl_brigade_dump(filter->bb_out, stderr); */
       return APR_SUCCESS;
  @@ -882,11 +885,12 @@
       if ((av = dcfg->handlers_per_dir[idx])) {
           modperl_handler_t **handlers = (modperl_handler_t **)av->elts;
           int i;
  -        ap_filter_t *f;
   
           for (i=0; i<av->nelts; i++) {
               modperl_filter_ctx_t *ctx;
  +            ap_filter_t *f;
   
  +            /* process non-mod_perl filter handlers */
               if ((handlers[i]->attrs & MP_FILTER_HTTPD_HANDLER)) {
                   addfunc(handlers[i]->name, NULL, NULL, c);
                   MP_TRACE_f(MP_FUNC,
  @@ -895,9 +899,11 @@
                   continue;
               }
               
  +            /* skip non-connection level filters, e.g. request filters
  +             * configured outside the resource container */
               if (!(handlers[i]->attrs & MP_FILTER_CONNECTION_HANDLER)) {
                   MP_TRACE_f(MP_FUNC,
  -                           "%s is not a FilterConnection handler\n",
  +                           "%s is not a FilterConnection handler, skipping\n",
                              handlers[i]->name);
                   continue;
               }
  @@ -955,6 +961,7 @@
               int registered = 0;
               ap_filter_t *f;
   
  +            /* process non-mod_perl filter handlers */
               if ((handlers[i]->attrs & MP_FILTER_HTTPD_HANDLER)) {
                   addfunc(handlers[i]->name, NULL, r, r->connection);
                   MP_TRACE_f(MP_FUNC,
  @@ -963,9 +970,13 @@
                   continue;
               }
   
  +            /* skip non-request level filters, e.g. connection filters
  +             * configured outside the resource container, merged into
  +             * resource's dcfg->handlers_per_dir[] entry.
  +             */
               if ((handlers[i]->attrs & MP_FILTER_CONNECTION_HANDLER)) {
                   MP_TRACE_f(MP_FUNC,
  -                           "%s is not a FilterRequest handler\n",
  +                           "%s is not a FilterRequest handler, skipping\n",
                              handlers[i]->name);
                   continue;
               }
  
  
  

Reply via email to