# Class Netcgi_env.custom_environment

    class custom_environment : ?config:cgi_config -> unit -> object .. end

This class can be used to set up non-standard environments. After creation, one sets the properties and the request header, and calls `setup_finished`.

Please read the comments about the protocol between environments and `cgi_activation` in the description of `Netcgi_env.cgi_environment` before using this class. In particular, it is the task of the environment to receive the request header.
Inherits

- `Netcgi_env.cgi_environment` Implements this interface

    method set_cgi : ?gateway_interface:string ->
           ?server_software:string ->
           ?server_name:string ->
           ?server_protocol:string ->
           ?server_port:int option ->
           ?request_method:string ->
           ?path_info:string ->
           ?path_translated:string ->
           ?script_name:string ->
           ?query_string:string ->
           ?remote_host:string ->
           ?remote_addr:string ->
           ?auth_type:string ->
           ?remote_user:string ->
           ?remote_ident:string ->
           ?https:bool -> ?property:string * string -> unit -> unit

Sets CGI properties

    method set_input_header_field : string -> string -> unit

Sets a request header field

    method set_multiple_input_header_field : string -> string list -> unit

Sets a request header field to a multiple value

    method set_input_header_fields : (string * string) list -> unit

Sets all request header fields at once

    method set_input_ch : Netchannels.in_obj_channel -> unit

Sets the input channel to use

    method set_input_content_length : int -> unit

Sets the input content length. This is the same as setting the `Content-length` field of the request header

    method set_input_content_type : string -> unit

Sets the input content type. This is the same as setting the `Content-type` field of the request header

    method set_output_ch : Netchannels.out_obj_channel -> unit

Sets the output channel to use

    method set_error_log : (string -> unit) -> unit

Sets the error log function (`prerr_endline` by default)

    method setup_finished : unit -> unit

Finishes the setup. After that, it is no longer possible to change it.