- NAME
- Synopsis
- Description
- Functions API
  - escape_path
  - ht_time
- See Also
- Copyright
- Authors

# NAME

Apache2::Util - Perl API for Misc Apache Utility functions

# Synopsis

     use Apache2::Util ();

     # OS escape path
     $escaped_path = Apache2::Util::escape_path($path, "a 'long' 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);

# Description

Various Apache utilities that don't fit into any other group.

# Functions API

`Apache2::Util` provides the following functions and/or methods:

## `escape_path`

convert an OS path to a URL in an OS dependent way.

    $escaped_path = Apache2::Util::escape_path($path, $p);
    $escaped_path = Apache2::Util::escape_path($path, $p, $partial);

arg1: `$path` ( string )

  The path to convert

arg2: `$p` ( `APR::Pool` )

  The pool to allocate from

opt arg3: `$partial` ( boolean )

  if TRUE, assume that the path will be appended to something with a '/' in it (and thus does not prefix "./")

  if FALSE it prepends `"./"` unless `$path` contains `:` optionally followed by `/`.

  the default is TRUE

ret: `$escaped_path` ( string )

  The escaped path

since: 2.0.00

## `ht_time`

Convert time from an integer value into a string in a specified format

    $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);

arg1: `$p` ( `APR::Pool object` )

  The pool to allocate memory from

opt arg2: `$time` ( number )

  The time to convert (e.g., `time()` or `$r->request_time`).

  If the value is not passed the current time will be used.

opt arg3: `$fmt` ( string )

  The format to use for the conversion, using strftime(3) tokens.

  If the value is not passed the default format used is:

      "%a, %d %b %Y %H:%M:%S %Z"

opt arg4: `$gmt` ( boolean )

  The time will be not converted to GMT if FALSE is passed.

  If the value is not passed TRUE (do convert) is used as a default.

ret: `$time_str` (string)

  The string that represents the specified time

since: 2.0.00

Examples:

Use current time, the default format and convert to GMT:

    $fmtdate = Apache2::Util::ht_time($r->pool);

Use my time, the default format and convert to GMT:

    my $time = time+100;
    $fmtdate = Apache2::Util::ht_time($r->pool, $time);

Use the time the request has started, custom format and don't convert to GMT:

    my $fmt = "%a, %D %H:%M:%S %Z";
    $fmtdate = Apache2::Util::ht_time($r->pool, $r->request_time, $fmt, 0);

# See Also

mod_perl 2.0 documentation.

# Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.

# Authors

The mod_perl development team and numerous contributors.