.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "docs::api::Apache2::Util 3pm" .TH docs::api::Apache2::Util 3pm 2024-01-10 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Apache2::Util \- Perl API for Misc Apache Utility functions .SH Synopsis .IX Header "Synopsis" .Vb 1 \& use Apache2::Util (); \& \& # OS escape path \& $escaped_path = Apache2::Util::escape_path($path, "a \*(Aqlong\*(Aq file.html"); \& \& # format time as a string \& my $fmt = "%a, %D %H:%M:%S %Z"; \& $fmtdate = Apache2::Util::ht_time($r\->pool, $r\->request_time, $fmt, 0); .Ve .SH Description .IX Header "Description" Various Apache utilities that don't fit into any other group. .SH "Functions API" .IX Header "Functions API" \&\f(CW\*(C`Apache2::Util\*(C'\fR provides the following functions and/or methods: .ie n .SS """escape_path""" .el .SS \f(CWescape_path\fP .IX Subsection "escape_path" convert an OS path to a URL in an OS dependent way. .PP .Vb 2 \& $escaped_path = Apache2::Util::escape_path($path, $p); \& $escaped_path = Apache2::Util::escape_path($path, $p, $partial); .Ve .ie n .IP "arg1: $path ( string )" 4 .el .IP "arg1: \f(CW$path\fR ( string )" 4 .IX Item "arg1: $path ( string )" The path to convert .ie n .IP "arg2: $p ( ""APR::Pool"" )" 4 .el .IP "arg2: \f(CW$p\fR ( \f(CWAPR::Pool\fR )" 4 .IX Item "arg2: $p ( APR::Pool )" The pool to allocate from .ie n .IP "opt arg3: $partial ( boolean )" 4 .el .IP "opt arg3: \f(CW$partial\fR ( boolean )" 4 .IX Item "opt arg3: $partial ( boolean )" if TRUE, assume that the path will be appended to something with a '/' in it (and thus does not prefix "./") .Sp if FALSE it prepends \f(CW"./"\fR unless \f(CW$path\fR contains \f(CW\*(C`:\*(C'\fR optionally followed by \f(CW\*(C`/\*(C'\fR. .Sp the default is TRUE .ie n .IP "ret: $escaped_path ( string )" 4 .el .IP "ret: \f(CW$escaped_path\fR ( string )" 4 .IX Item "ret: $escaped_path ( string )" The escaped path .IP "since: 2.0.00" 4 .IX Item "since: 2.0.00" .ie n .SS """ht_time""" .el .SS \f(CWht_time\fP .IX Subsection "ht_time" Convert time from an integer value into a string in a specified format .PP .Vb 4 \& $time_str = Apache2::Util::ht_time($p); \& $time_str = Apache2::Util::ht_time($p, $time); \& $time_str = Apache2::Util::ht_time($p, $time, $fmt); \& $time_str = Apache2::Util::ht_time($p, $time, $fmt, $gmt); .Ve .ie n .IP "arg1: $p ( ""APR::Pool object"" )" 4 .el .IP "arg1: \f(CW$p\fR ( \f(CWAPR::Pool object\fR )" 4 .IX Item "arg1: $p ( APR::Pool object )" The pool to allocate memory from .ie n .IP "opt arg2: $time ( number )" 4 .el .IP "opt arg2: \f(CW$time\fR ( number )" 4 .IX Item "opt arg2: $time ( number )" The time to convert (e.g., \f(CWtime()\fR or \&\f(CW\*(C`$r\->request_time\*(C'\fR). .Sp If the value is not passed the current time will be used. .ie n .IP "opt arg3: $fmt ( string )" 4 .el .IP "opt arg3: \f(CW$fmt\fR ( string )" 4 .IX Item "opt arg3: $fmt ( string )" The format to use for the conversion, using \fBstrftime\fR\|(3) tokens. .Sp If the value is not passed the default format used is: .Sp .Vb 1 \& "%a, %d %b %Y %H:%M:%S %Z" .Ve .ie n .IP "opt arg4: $gmt ( boolean )" 4 .el .IP "opt arg4: \f(CW$gmt\fR ( boolean )" 4 .IX Item "opt arg4: $gmt ( boolean )" The time will be not converted to GMT if FALSE is passed. .Sp If the value is not passed TRUE (do convert) is used as a default. .ie n .IP "ret: $time_str (string)" 4 .el .IP "ret: \f(CW$time_str\fR (string)" 4 .IX Item "ret: $time_str (string)" The string that represents the specified time .IP "since: 2.0.00" 4 .IX Item "since: 2.0.00" .PP Examples: .PP Use current time, the default format and convert to GMT: .PP .Vb 1 \& $fmtdate = Apache2::Util::ht_time($r\->pool); .Ve .PP Use my time, the default format and convert to GMT: .PP .Vb 2 \& my $time = time+100; \& $fmtdate = Apache2::Util::ht_time($r\->pool, $time); .Ve .PP Use the time the request has started, custom format and don't convert to GMT: .PP .Vb 2 \& my $fmt = "%a, %D %H:%M:%S %Z"; \& $fmtdate = Apache2::Util::ht_time($r\->pool, $r\->request_time, $fmt, 0); .Ve .SH "See Also" .IX Header "See Also" mod_perl 2.0 documentation. .SH Copyright .IX Header "Copyright" mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0. .SH Authors .IX Header "Authors" The mod_perl development team and numerous contributors.