--- Graham Dumpleton <[EMAIL PROTECTED]> wrote:
> On 18/12/2007, Sander Temme <[EMAIL PROTECTED]> > wrote: > > > > On Dec 17, 2007, at 6:36 PM, Eric Covener wrote: > > > > >> I would like to know the request type in my > module > > >> (handler/filter), is there any way to know that > (HTTP > > >> vs HTTPS)? > > > > > > apr_table_get(r->subprocess_env, "HTTPS") might > be what you want > > > > That gets set in the Fixup hook, relatively late > in the request > > processing process. You could call > ap_http_scheme(r) to run the > > request scheme hook, which will return "https" if > SSL is disabled or > > optional on the vhost that accepted the request. > > Or better still, use the function registered by the > ssl module for the purpose: > > #if AP_SERVER_MAJORVERSION_NUMBER >= 2 > APR_DECLARE_OPTIONAL_FN(int, ssl_is_https, (conn_rec > *)); > static APR_OPTIONAL_FN_TYPE(ssl_is_https) > *wsgi_is_https = NULL; > #endif > > ... > > if (!wsgi_is_https) > wsgi_is_https = > APR_RETRIEVE_OPTIONAL_FN(ssl_is_https); > > if (wsgi_is_https && > wsgi_is_https(r->connection)) > apr_table_set(r->subprocess_env, "HTTPS", > "1"); > > Ie., HTTPS is set by the above sort of process, but > as pointed out > that is done only in fixup phase, but you can call > the ssl_is_https() > function direct if in earlier phase. > Thanks everyone! All very useful to me!