RCS file: /home/cvs/xml-axkit/lib/AxKit.pm,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- AxKit.pm 26 Jan 2003 17:37:42 -0000 1.36
+++ AxKit.pm 29 Jan 2003 01:35:49 -0000 1.37
@@ -674,10 +674,32 @@
my $interm_prefix;
my $interm_count = 0;
if ($AxKit::Cfg->TraceIntermediate) {
- $interm_prefix = $r->uri;
- $interm_prefix =~ s{/}{|}g;
- $interm_prefix =~ s/[^0-9a-zA-Z.,_|-]/_/g;
- $interm_prefix = $AxKit::Cfg->TraceIntermediate.'/'.$interm_prefix;
+ my $id = $r->notes('AxRequestID');
+ $interm_prefix = ($id?$id:$r->uri);
+ $interm_prefix =~ s{%}{%25}g;
+ $interm_prefix =~ s{/}{%2f}g;
+ my $ti = $AxKit::Cfg->TraceIntermediate;
+ if (defined $id) {
+ $interm_prefix = substr($interm_prefix,-1).'/'.substr($interm_prefix,-3,2).'/ '.substr($interm_prefix,0,-3).'/';
+ mkdir($ti.'/'.substr($interm_prefix,0,1));
+ mkdir($ti.'/'.substr($interm_prefix,0,4));
+ mkdir($ti.'/'.$interm_prefix);
+ } else {
+ $interm_prefix =~ s/[^0-9a-zA-Z.,_|-]/_/g;
+ $interm_prefix .= '.';
+ }
+ $interm_prefix = $ti.'/'.$interm_prefix;
+
+ if ($interm_prefix) {
+ my $fh = Apache->gensym();
+ if (sysopen($fh, $interm_prefix.$interm_count, O_WRONLY|O_CREAT|O_TRUNC)) {
+ syswrite($fh,${$provider->get_strref});
+ close($fh);
+ $interm_count++;
+ } else {
+ AxKit::Debug(1,"could not open $interm_prefix$interm_count for writing: $!");
+ }
+ }
}
This is a big section of inline code now. It would make sense to separate it out.
Matt.