Привет,
мне понравилось писать перловские .xs :), но чтобы убедиться что
у меня все получается, необходимо чтобы это потестировал
кто-то помимо меня. Поэтому я выпустил версию Apache::Charset 0.04
(такой номер получился случайно) в свободное плавание.
ftp://ftp.lexa.ru/pub/apache-rus/Apache-Charset-0.04.tar.gz
Оно еще полностью useless т.к. дублирует функциональность mod_charset
- все что умеет это будет сделано автоматически. Но там есть
test.cgi и пример .htaccess с которыми этот cgi должен заработать.
Если оно заработает - мне это неинтересно. Если будут проблемы --
ради них эта версия и выпущена.
Реально perl interface требует переделать (генерализовать)
внутренности mod_charset. Т.е. появится где-то одновременно с
версией PL27.0
Alex
Manpage:
NAME
Apache::Charset - mod_perl interface to Russian Apache internals
SYNOPSIS
use Apache::Charset;
DESCRIPTION
Apache::Charset provides interface to Russian Apache functions. This
module should be called after fixup stage of apache handlers (i.e. one
should use Apache::Charset in Apache::Registry scripts or in PerlHandler
routines).
MEMBER FUNCTIONS
$recoder = new Apache::Charset();
Creates new Apache::Charset object with internal request_rec record
set to current request.
$recoder->set_request($r);
Sets internal request_rec reference to $r. $r should be an object
returned by Apache->request call.
$recoder->is_ok;
Returns 1 if Russian Apache module has successfully processed
current request and undef overwise (f.e. mod_charset is disabled, or
some recoding tables was not found etc)
$server_charset=$recoder->server_charset;
Returns canonical name of server (or "source") charset. Returned
value is equivalent to $ENV{SOURCE_CHARSET}. Will return undef if
$recoder is not ok.
$client_charset=$recoder->client_charset;
Returns canonical name of client charset. Returned value is
equivalent to $ENV{CHARSET}. Will return undef if $recoder is not
ok.
@charsets=$recoder->charset_list;
Returns list of charsets known by server (i.e. configured by
CharsetRecodeTable directives).
$str=$recoder->server2client($old_string);
Returns string converted from server charset to client charset.
BUGS
This is unusable test version. It cannot be used in real-life
application because all its functionality is duplicated by mod_charset
handlers. This version distributed only for testing purposes. Usable
versions requires several changes to mod_charset API.
SEE ALSO
the mod_perl(3) manpage, the Apache(3) manpage
AUTHOR
Alex Tutubalin <lexa@lexa.ru>
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.