Hey,

> Am 19.03.2018 um 17:46 schrieb Christian Schoenebeck 
> <[email protected]>:
> 
> Hi everyone,
> 
> I was just looking at the mod_http2 sources, and wondered why are only the 
> following few functions of mod_http2 exposed to the outer world?

So far, only the functions for interworking with httpd core and mod_proxy_http2
were exposed. There is no API for other modules to start streams etc. as you
mentioned below.

>       APR_REGISTER_OPTIONAL_FN(http2_is_h2);
>       APR_REGISTER_OPTIONAL_FN(http2_var_lookup);
>       APR_REGISTER_OPTIONAL_FN(http2_req_engine_push);
>       APR_REGISTER_OPTIONAL_FN(http2_req_engine_pull);
>       APR_REGISTER_OPTIONAL_FN(http2_req_engine_done);
>       APR_REGISTER_OPTIONAL_FN(http2_get_num_workers);
> 
> I was expecting to see some more functions being publicly accessible, 
> especially for creating new h2 streams programmatically by other modules. Is 
> there a reason why those functions are not exported?

Yes, because the functionality is not ready to be exposed and it is not
clear to me what that would exactly do. My lack of imagination maybe... ;-)

> The reason for asking: I was considering to make some of the core h2 features 
> available through Python or PHP i.e. for dynamically creating server pushes 
> in 
> webapps (beyond of what's currently possible with adding link headers). I 
> know 
> that such a use case is against what http2 is commonly advertised for, but 
> having h2 features directly available on webapp level, would significantly 
> reduce complexity and development time for a large scale of web apps.

If you can describe how you want to use it and what the benefit is, let's
hear it. Maybe there are mechanisms already present in the server that can
fullfill parts of what you want.

Cheers,

Stefan

> 
> Best regards,
> Christian Schoenebeck

Reply via email to