| |
| /* |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| */ |
| |
| /* |
| THIS FILE IS AUTOGENERATED, DO NOT EDIT |
| |
| Regenerate this file with the 'generate-cripts-config' target. Remember |
| to run the format target on the generated file as well. |
| */ |
| #pragma once |
| |
| #include "cripts/ConfigsBase.hpp" |
| |
| namespace cripts |
| { |
| |
| class Proxy |
| { |
| private: |
| friend class cripts::Context; // Needed to set the state |
| |
| class Config |
| { |
| private: |
| class Body_Factory |
| { |
| public: |
| cripts::IntConfig response_suppression_mode{"proxy.config.body_factory.response_suppression_mode"}; |
| cripts::StringConfig template_base{"proxy.config.body_factory.template_base"}; |
| }; // End class Body_Factory |
| |
| public: |
| Body_Factory body_factory; |
| |
| private: |
| class Hostdb |
| { |
| public: |
| cripts::StringConfig ip_resolve{"proxy.config.hostdb.ip_resolve"}; |
| }; // End class Hostdb |
| |
| public: |
| Hostdb hostdb; |
| |
| private: |
| class Http |
| { |
| public: |
| cripts::IntConfig allow_half_open{"proxy.config.http.allow_half_open"}; |
| cripts::IntConfig allow_multi_range{"proxy.config.http.allow_multi_range"}; |
| cripts::IntConfig anonymize_remove_client_ip{"proxy.config.http.anonymize_remove_client_ip"}; |
| cripts::IntConfig anonymize_remove_cookie{"proxy.config.http.anonymize_remove_cookie"}; |
| cripts::IntConfig anonymize_remove_from{"proxy.config.http.anonymize_remove_from"}; |
| cripts::IntConfig anonymize_remove_referer{"proxy.config.http.anonymize_remove_referer"}; |
| cripts::IntConfig anonymize_remove_user_agent{"proxy.config.http.anonymize_remove_user_agent"}; |
| cripts::IntConfig attach_server_session_to_client{"proxy.config.http.attach_server_session_to_client"}; |
| cripts::IntConfig auth_server_session_private{"proxy.config.http.auth_server_session_private"}; |
| cripts::IntConfig background_fill_active_timeout{"proxy.config.http.background_fill_active_timeout"}; |
| cripts::FloatConfig background_fill_completed_threshold{"proxy.config.http.background_fill_completed_threshold"}; |
| |
| private: |
| class Cache |
| { |
| public: |
| cripts::IntConfig cache_responses_to_cookies{"proxy.config.http.cache.cache_responses_to_cookies"}; |
| cripts::IntConfig cache_urls_that_look_dynamic{"proxy.config.http.cache.cache_urls_that_look_dynamic"}; |
| cripts::IntConfig generation{"proxy.config.http.cache.generation"}; |
| cripts::IntConfig guaranteed_max_lifetime{"proxy.config.http.cache.guaranteed_max_lifetime"}; |
| cripts::IntConfig guaranteed_min_lifetime{"proxy.config.http.cache.guaranteed_min_lifetime"}; |
| cripts::FloatConfig heuristic_lm_factor{"proxy.config.http.cache.heuristic_lm_factor"}; |
| cripts::IntConfig heuristic_max_lifetime{"proxy.config.http.cache.heuristic_max_lifetime"}; |
| cripts::IntConfig heuristic_min_lifetime{"proxy.config.http.cache.heuristic_min_lifetime"}; |
| cripts::IntConfig http{"proxy.config.http.cache.http"}; |
| cripts::IntConfig ignore_accept_charset_mismatch{"proxy.config.http.cache.ignore_accept_charset_mismatch"}; |
| cripts::IntConfig ignore_accept_encoding_mismatch{"proxy.config.http.cache.ignore_accept_encoding_mismatch"}; |
| cripts::IntConfig ignore_accept_language_mismatch{"proxy.config.http.cache.ignore_accept_language_mismatch"}; |
| cripts::IntConfig ignore_accept_mismatch{"proxy.config.http.cache.ignore_accept_mismatch"}; |
| cripts::IntConfig ignore_authentication{"proxy.config.http.cache.ignore_authentication"}; |
| cripts::IntConfig ignore_client_cc_max_age{"proxy.config.http.cache.ignore_client_cc_max_age"}; |
| cripts::IntConfig ignore_client_no_cache{"proxy.config.http.cache.ignore_client_no_cache"}; |
| cripts::IntConfig ignore_query{"proxy.config.http.cache.ignore_query"}; |
| cripts::IntConfig ignore_server_no_cache{"proxy.config.http.cache.ignore_server_no_cache"}; |
| cripts::IntConfig ims_on_client_no_cache{"proxy.config.http.cache.ims_on_client_no_cache"}; |
| cripts::IntConfig max_open_read_retries{"proxy.config.http.cache.max_open_read_retries"}; |
| cripts::IntConfig max_open_write_retries{"proxy.config.http.cache.max_open_write_retries"}; |
| cripts::IntConfig max_open_write_retry_timeout{"proxy.config.http.cache.max_open_write_retry_timeout"}; |
| cripts::IntConfig max_stale_age{"proxy.config.http.cache.max_stale_age"}; |
| cripts::IntConfig open_read_retry_time{"proxy.config.http.cache.open_read_retry_time"}; |
| cripts::IntConfig open_write_fail_action{"proxy.config.http.cache.open_write_fail_action"}; |
| |
| private: |
| class Range |
| { |
| public: |
| cripts::IntConfig lookup{"proxy.config.http.cache.range.lookup"}; |
| cripts::IntConfig write{"proxy.config.http.cache.range.write"}; |
| }; // End class Range |
| |
| public: |
| Range range; |
| |
| cripts::IntConfig required_headers{"proxy.config.http.cache.required_headers"}; |
| cripts::IntConfig when_to_revalidate{"proxy.config.http.cache.when_to_revalidate"}; |
| }; // End class Cache |
| |
| public: |
| Cache cache; |
| |
| private: |
| class Chunking |
| { |
| public: |
| cripts::IntConfig size{"proxy.config.http.chunking.size"}; |
| }; // End class Chunking |
| |
| public: |
| Chunking chunking; |
| |
| cripts::IntConfig chunking_enabled{"proxy.config.http.chunking_enabled"}; |
| |
| private: |
| class Connect |
| { |
| private: |
| class Down |
| { |
| public: |
| cripts::IntConfig policy{"proxy.config.http.connect.down.policy"}; |
| }; // End class Down |
| |
| public: |
| Down down; |
| |
| }; // End class Connect |
| |
| public: |
| Connect connect; |
| |
| cripts::IntConfig connect_attempts_max_retries{"proxy.config.http.connect_attempts_max_retries"}; |
| cripts::IntConfig connect_attempts_max_retries_down_server{"proxy.config.http.connect_attempts_max_retries_down_server"}; |
| cripts::IntConfig connect_attempts_rr_retries{"proxy.config.http.connect_attempts_rr_retries"}; |
| cripts::IntConfig connect_attempts_timeout{"proxy.config.http.connect_attempts_timeout"}; |
| cripts::IntConfig default_buffer_size{"proxy.config.http.default_buffer_size"}; |
| cripts::IntConfig default_buffer_water_mark{"proxy.config.http.default_buffer_water_mark"}; |
| cripts::IntConfig doc_in_cache_skip_dns{"proxy.config.http.doc_in_cache_skip_dns"}; |
| |
| private: |
| class Down_Server |
| { |
| public: |
| cripts::IntConfig cache_time{"proxy.config.http.down_server.cache_time"}; |
| }; // End class Down_Server |
| |
| public: |
| Down_Server down_server; |
| |
| cripts::IntConfig drop_chunked_trailers{"proxy.config.http.drop_chunked_trailers"}; |
| |
| private: |
| class Flow_Control |
| { |
| public: |
| cripts::IntConfig enabled{"proxy.config.http.flow_control.enabled"}; |
| cripts::IntConfig high_water{"proxy.config.http.flow_control.high_water"}; |
| cripts::IntConfig low_water{"proxy.config.http.flow_control.low_water"}; |
| }; // End class Flow_Control |
| |
| public: |
| Flow_Control flow_control; |
| |
| private: |
| class Forward |
| { |
| public: |
| cripts::IntConfig proxy_auth_to_parent{"proxy.config.http.forward.proxy_auth_to_parent"}; |
| }; // End class Forward |
| |
| public: |
| Forward forward; |
| |
| cripts::IntConfig forward_connect_method{"proxy.config.http.forward_connect_method"}; |
| cripts::StringConfig global_user_agent_header{"proxy.config.http.global_user_agent_header"}; |
| cripts::IntConfig insert_age_in_response{"proxy.config.http.insert_age_in_response"}; |
| cripts::IntConfig insert_client_ip{"proxy.config.http.insert_client_ip"}; |
| cripts::StringConfig insert_forwarded{"proxy.config.http.insert_forwarded"}; |
| cripts::IntConfig insert_request_via_str{"proxy.config.http.insert_request_via_str"}; |
| cripts::IntConfig insert_response_via_str{"proxy.config.http.insert_response_via_str"}; |
| cripts::IntConfig insert_squid_x_forwarded_for{"proxy.config.http.insert_squid_x_forwarded_for"}; |
| cripts::IntConfig keep_alive_enabled_in{"proxy.config.http.keep_alive_enabled_in"}; |
| cripts::IntConfig keep_alive_enabled_out{"proxy.config.http.keep_alive_enabled_out"}; |
| cripts::IntConfig keep_alive_no_activity_timeout_in{"proxy.config.http.keep_alive_no_activity_timeout_in"}; |
| cripts::IntConfig keep_alive_no_activity_timeout_out{"proxy.config.http.keep_alive_no_activity_timeout_out"}; |
| cripts::IntConfig keep_alive_post_out{"proxy.config.http.keep_alive_post_out"}; |
| cripts::IntConfig max_proxy_cycles{"proxy.config.http.max_proxy_cycles"}; |
| cripts::IntConfig negative_caching_enabled{"proxy.config.http.negative_caching_enabled"}; |
| cripts::IntConfig negative_caching_lifetime{"proxy.config.http.negative_caching_lifetime"}; |
| cripts::IntConfig negative_revalidating_enabled{"proxy.config.http.negative_revalidating_enabled"}; |
| cripts::IntConfig negative_revalidating_lifetime{"proxy.config.http.negative_revalidating_lifetime"}; |
| cripts::IntConfig no_dns_just_forward_to_parent{"proxy.config.http.no_dns_just_forward_to_parent"}; |
| cripts::IntConfig normalize_ae{"proxy.config.http.normalize_ae"}; |
| cripts::IntConfig number_of_redirections{"proxy.config.http.number_of_redirections"}; |
| |
| private: |
| class Parent_Proxy |
| { |
| public: |
| cripts::IntConfig disable_parent_markdowns{"proxy.config.http.parent_proxy.disable_parent_markdowns"}; |
| cripts::IntConfig enable_parent_timeout_markdowns{"proxy.config.http.parent_proxy.enable_parent_timeout_markdowns"}; |
| cripts::IntConfig fail_threshold{"proxy.config.http.parent_proxy.fail_threshold"}; |
| cripts::IntConfig mark_down_hostdb{"proxy.config.http.parent_proxy.mark_down_hostdb"}; |
| cripts::IntConfig per_parent_connect_attempts{"proxy.config.http.parent_proxy.per_parent_connect_attempts"}; |
| cripts::IntConfig retry_time{"proxy.config.http.parent_proxy.retry_time"}; |
| cripts::IntConfig total_connect_attempts{"proxy.config.http.parent_proxy.total_connect_attempts"}; |
| }; // End class Parent_Proxy |
| |
| public: |
| Parent_Proxy parent_proxy; |
| |
| private: |
| class Post |
| { |
| private: |
| class Check |
| { |
| private: |
| class Content_Length |
| { |
| public: |
| cripts::IntConfig enabled{"proxy.config.http.post.check.content_length.enabled"}; |
| }; // End class Content_Length |
| |
| public: |
| Content_Length content_length; |
| |
| }; // End class Check |
| |
| public: |
| Check check; |
| |
| }; // End class Post |
| |
| public: |
| Post post; |
| |
| cripts::IntConfig proxy_protocol_out{"proxy.config.http.proxy_protocol_out"}; |
| cripts::IntConfig redirect_use_orig_cache_key{"proxy.config.http.redirect_use_orig_cache_key"}; |
| cripts::IntConfig request_buffer_enabled{"proxy.config.http.request_buffer_enabled"}; |
| cripts::IntConfig request_header_max_size{"proxy.config.http.request_header_max_size"}; |
| cripts::IntConfig response_header_max_size{"proxy.config.http.response_header_max_size"}; |
| cripts::IntConfig response_server_enabled{"proxy.config.http.response_server_enabled"}; |
| cripts::StringConfig response_server_str{"proxy.config.http.response_server_str"}; |
| cripts::IntConfig send_http11_requests{"proxy.config.http.send_http11_requests"}; |
| |
| private: |
| class Server_Session_Sharing |
| { |
| public: |
| cripts::StringConfig match{"proxy.config.http.server_session_sharing.match"}; |
| }; // End class Server_Session_Sharing |
| |
| public: |
| Server_Session_Sharing server_session_sharing; |
| |
| private: |
| class Slow |
| { |
| private: |
| class Log |
| { |
| public: |
| cripts::IntConfig threshold{"proxy.config.http.slow.log.threshold"}; |
| }; // End class Log |
| |
| public: |
| Log log; |
| |
| }; // End class Slow |
| |
| public: |
| Slow slow; |
| |
| cripts::IntConfig transaction_active_timeout_in{"proxy.config.http.transaction_active_timeout_in"}; |
| cripts::IntConfig transaction_active_timeout_out{"proxy.config.http.transaction_active_timeout_out"}; |
| cripts::IntConfig transaction_no_activity_timeout_in{"proxy.config.http.transaction_no_activity_timeout_in"}; |
| cripts::IntConfig transaction_no_activity_timeout_out{"proxy.config.http.transaction_no_activity_timeout_out"}; |
| cripts::IntConfig uncacheable_requests_bypass_parent{"proxy.config.http.uncacheable_requests_bypass_parent"}; |
| }; // End class Http |
| |
| public: |
| Http http; |
| |
| private: |
| class Net |
| { |
| public: |
| cripts::IntConfig default_inactivity_timeout{"proxy.config.net.default_inactivity_timeout"}; |
| cripts::IntConfig sock_notsent_lowat{"proxy.config.net.sock_notsent_lowat"}; |
| cripts::IntConfig sock_option_flag_out{"proxy.config.net.sock_option_flag_out"}; |
| cripts::IntConfig sock_packet_mark_out{"proxy.config.net.sock_packet_mark_out"}; |
| cripts::IntConfig sock_packet_tos_out{"proxy.config.net.sock_packet_tos_out"}; |
| cripts::IntConfig sock_recv_buffer_size_out{"proxy.config.net.sock_recv_buffer_size_out"}; |
| cripts::IntConfig sock_send_buffer_size_out{"proxy.config.net.sock_send_buffer_size_out"}; |
| }; // End class Net |
| |
| public: |
| Net net; |
| |
| private: |
| class Plugin |
| { |
| private: |
| class Vc |
| { |
| public: |
| cripts::IntConfig default_buffer_index{"proxy.config.plugin.vc.default_buffer_index"}; |
| cripts::IntConfig default_buffer_water_mark{"proxy.config.plugin.vc.default_buffer_water_mark"}; |
| }; // End class Vc |
| |
| public: |
| Vc vc; |
| |
| }; // End class Plugin |
| |
| public: |
| Plugin plugin; |
| |
| public: |
| cripts::IntConfig srv_enabled{"proxy.config.srv_enabled"}; |
| |
| private: |
| class Ssl |
| { |
| private: |
| class Client |
| { |
| private: |
| class Ca |
| { |
| private: |
| class Cert |
| { |
| public: |
| cripts::StringConfig filename{"proxy.config.ssl.client.CA.cert.filename"}; |
| }; // End class Cert |
| |
| public: |
| Cert cert; |
| |
| }; // End class Ca |
| |
| public: |
| Ca CA; |
| |
| public: |
| cripts::StringConfig alpn_protocols{"proxy.config.ssl.client.alpn_protocols"}; |
| |
| private: |
| class Cert |
| { |
| public: |
| cripts::StringConfig filename{"proxy.config.ssl.client.cert.filename"}; |
| cripts::StringConfig path{"proxy.config.ssl.client.cert.path"}; |
| }; // End class Cert |
| |
| public: |
| Cert cert; |
| |
| private: |
| class Private_Key |
| { |
| public: |
| cripts::StringConfig filename{"proxy.config.ssl.client.private_key.filename"}; |
| }; // End class Private_Key |
| |
| public: |
| Private_Key private_key; |
| |
| cripts::StringConfig sni_policy{"proxy.config.ssl.client.sni_policy"}; |
| |
| private: |
| class Verify |
| { |
| private: |
| class Server |
| { |
| public: |
| cripts::StringConfig policy{"proxy.config.ssl.client.verify.server.policy"}; |
| cripts::StringConfig properties{"proxy.config.ssl.client.verify.server.properties"}; |
| }; // End class Server |
| |
| public: |
| Server server; |
| |
| }; // End class Verify |
| |
| public: |
| Verify verify; |
| |
| }; // End class Client |
| |
| public: |
| Client client; |
| |
| public: |
| cripts::IntConfig hsts_include_subdomains{"proxy.config.ssl.hsts_include_subdomains"}; |
| cripts::IntConfig hsts_max_age{"proxy.config.ssl.hsts_max_age"}; |
| }; // End class Ssl |
| |
| public: |
| Ssl ssl; |
| |
| private: |
| class Url_Remap |
| { |
| public: |
| cripts::IntConfig pristine_host_hdr{"proxy.config.url_remap.pristine_host_hdr"}; |
| }; // End class Url_Remap |
| |
| public: |
| Url_Remap url_remap; |
| |
| private: |
| class Websocket |
| { |
| public: |
| cripts::IntConfig active_timeout{"proxy.config.websocket.active_timeout"}; |
| cripts::IntConfig no_activity_timeout{"proxy.config.websocket.no_activity_timeout"}; |
| }; // End class Websocket |
| |
| public: |
| Websocket websocket; |
| |
| }; // End class Config |
| |
| public: |
| Config config; |
| |
| }; // End class Proxy |
| |
| } // namespace cripts |