Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-rus] Re: перекодировка в ap_bwrite()



At 23:35 16.04.99 , you wrote:
>Буду благодарен, если это переведут и зашлют автору mod_fcgi. А вот
apache-team
>меня игнорирует. Сейчас вот сделаю доклад и разгоню студентов по случаю
сессии 
>и попробую еще раз.

Вот ответ автора mod_fastcgi:

>From: Rob Saccoccio <robs@infinitetechnology.com>
>To: "'Sergey Gershtein'" <sg@mplik.ru>
>Subject: RE: can't get more than one dynamic instances spawned
>Date: Tue, 20 Apr 1999 08:47:17 -0400
>X-Mailer: Internet Mail Service (5.5.2232.9)
>X-sortmail-version: 1.2.981116
>
>
>> "Maybe Rob Saccoccio is right, but my point of view is the following:
>> 
>> There are ap_r* (puts/printf/write) functions that are called 
>> by standard
>> modules when giving content to client (after headers and 
>> such). It would be
>> nice if 3rd-party modules would do that as modules/standard/*.c do.
>
>mod_cgi, mod_mime_magic, proxy_ftp, proxy_http, and proxy_util all use
>ap_bwrite().
>
>mod_include, mod_isapi use ap_rwrite().
>
>ap_rputs is used more often in modules than ap_bputs though.
>
>This line of discussion is irrelevant.  The Apache API includes ap_bwrite();
>this is undisputable.  The Russian Apache does not - this IS a change to the
>API.  I assure you that mod_fastcgi will not be the only place you will have
>to request changes.  This is a shame because it is unneccary.
> 
>> The ap_b* functions (we are talking about ap_bwrite here) are 
>> on a lower
>> layer, they can be used for both content output, headers 
>> output and so on.
>> But there is different recoding used for headers (%AA -> %BB) 
>> and content
>> (letter1 -> letter2), so it is necessary to somehow trace the 
>> context of
>
>You need to do/know that anyway.  Deciding that its a header because a b
>routine is called and that it is content because a r routine is called is
>not sufficient.  If you put the request_rec in the BUFF you can get at
>whatever you had with the r call without breaking the API.
>
>> bwrite call. Talking about 3rd-party modules it means that 
>> we'll need to
>> look at them individualy. It would be also necessary to trace 
>
>This is not a good approach when it can be avoided.
>
>> all creations
>> of BUFF* to initialise them correctly. I am not sure it is 
>
>All BUFF (at least those created for use with the b routines) are created
>with ap_bcreate().  Note that you shouldn't necessarily perform your on the
>fly conversions with all instances of BUFF, only the one associated with the
>client.
>
>> always possible.
>> As for request_rec - it is always one for each request and it is being
>> created by Apache itself.
>
>I'm not sure what your saying here.
> 
>> Speaking about API incompatibilities, there is currently only 
>> one: vbprintf
>> and my charset_vbprintf that takes an extra argument.
>
>That makes at least two (I suspect ap_bputs() and maybe others are a problem
>too).  You should not change an existing exported interface if it can be
>helped (I don't know exactly how it is your performing the conversion).
>
>   robs
>


С уважением,
Сергей Герштейн 

[ sg@ur.ru, тел (3432) 776440, 776486, факс 594956 ]
ведущий специалист отдела информационных технологий 
телекоммуникационная компания Урал Релком 






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"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.