gitextract_8o2w0qyu/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CONTRIBUTING.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── ISSUE.yml │ │ └── config.yml │ ├── SECURITY.md │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── ai.yml │ ├── auto-release-pr.yml │ ├── ci.yml │ ├── cross-build.yml │ ├── lint.yml │ ├── release-proposal.yml │ ├── release.yml │ ├── release_published.yml │ └── scorecard.yml ├── .gitignore ├── .golangci.yml ├── .goreleaser.yml ├── .pre-commit-config.yaml ├── AUTHORS ├── LICENSE ├── README.md ├── admin.go ├── admin_test.go ├── caddy.go ├── caddy_test.go ├── caddyconfig/ │ ├── caddyfile/ │ │ ├── adapter.go │ │ ├── dispenser.go │ │ ├── dispenser_test.go │ │ ├── formatter.go │ │ ├── formatter_fuzz.go │ │ ├── formatter_test.go │ │ ├── importargs.go │ │ ├── importgraph.go │ │ ├── lexer.go │ │ ├── lexer_fuzz.go │ │ ├── lexer_test.go │ │ ├── parse.go │ │ ├── parse_test.go │ │ └── testdata/ │ │ ├── empty.txt │ │ ├── glob/ │ │ │ ├── .dotfile.txt │ │ │ └── import_test1.txt │ │ ├── import_args0.txt │ │ ├── import_args1.txt │ │ ├── import_glob0.txt │ │ ├── import_glob1.txt │ │ ├── import_glob2.txt │ │ ├── import_recursive0.txt │ │ ├── import_recursive1.txt │ │ ├── import_recursive2.txt │ │ ├── import_recursive3.txt │ │ ├── import_test1.txt │ │ ├── import_test2.txt │ │ └── only_white_space.txt │ ├── configadapters.go │ ├── httpcaddyfile/ │ │ ├── addresses.go │ │ ├── addresses_fuzz.go │ │ ├── addresses_test.go │ │ ├── builtins.go │ │ ├── builtins_test.go │ │ ├── directives.go │ │ ├── directives_test.go │ │ ├── httptype.go │ │ ├── httptype_test.go │ │ ├── options.go │ │ ├── options_test.go │ │ ├── pkiapp.go │ │ ├── pkiapp_test.go │ │ ├── serveroptions.go │ │ ├── shorthands.go │ │ ├── testdata/ │ │ │ ├── import_variadic.txt │ │ │ ├── import_variadic_snippet.txt │ │ │ └── import_variadic_with_import.txt │ │ ├── tlsapp.go │ │ └── tlsapp_test.go │ ├── httploader.go │ └── load.go ├── caddytest/ │ ├── a.caddy.localhost.crt │ ├── a.caddy.localhost.key │ ├── caddy.ca.cer │ ├── caddy.localhost.crt │ ├── caddy.localhost.key │ ├── caddytest.go │ ├── caddytest_test.go │ ├── integration/ │ │ ├── acme_test.go │ │ ├── acmeserver_test.go │ │ ├── autohttps_test.go │ │ ├── caddyfile_adapt/ │ │ │ ├── acme_dns_configured.caddyfiletest │ │ │ ├── acme_dns_naked_use_dns_defaults.caddyfiletest │ │ │ ├── acme_dns_naked_without_dns.caddyfiletest │ │ │ ├── acme_server_custom_challenges.caddyfiletest │ │ │ ├── acme_server_default_challenges.caddyfiletest │ │ │ ├── acme_server_lifetime.caddyfiletest │ │ │ ├── acme_server_multi_custom_challenges.caddyfiletest │ │ │ ├── acme_server_policy-allow.caddyfiletest │ │ │ ├── acme_server_policy-both.caddyfiletest │ │ │ ├── acme_server_policy-deny.caddyfiletest │ │ │ ├── acme_server_sign_with_root.caddyfiletest │ │ │ ├── ambiguous_site_definition.caddyfiletest │ │ │ ├── ambiguous_site_definition_duplicate_key.caddyfiletest │ │ │ ├── auto_https_disable_redirects.caddyfiletest │ │ │ ├── auto_https_ignore_loaded_certs.caddyfiletest │ │ │ ├── auto_https_off.caddyfiletest │ │ │ ├── bind_fd_fdgram_h123.caddyfiletest │ │ │ ├── bind_ipv6.caddyfiletest │ │ │ ├── directive_as_site_address.caddyfiletest │ │ │ ├── duplicate_listener_address_global.caddyfiletest │ │ │ ├── enable_tls_for_catch_all_site.caddyfiletest │ │ │ ├── encode_options.caddyfiletest │ │ │ ├── error_example.caddyfiletest │ │ │ ├── error_multi_site_blocks.caddyfiletest │ │ │ ├── error_range_codes.caddyfiletest │ │ │ ├── error_range_simple_codes.caddyfiletest │ │ │ ├── error_simple_codes.caddyfiletest │ │ │ ├── error_sort.caddyfiletest │ │ │ ├── error_subhandlers.caddyfiletest │ │ │ ├── expression_quotes.caddyfiletest │ │ │ ├── file_server_disable_canonical_uris.caddyfiletest │ │ │ ├── file_server_etag_file_extensions.caddyfiletest │ │ │ ├── file_server_file_limit.caddyfiletest │ │ │ ├── file_server_pass_thru.caddyfiletest │ │ │ ├── file_server_precompressed.caddyfiletest │ │ │ ├── file_server_sort.caddyfiletest │ │ │ ├── file_server_status.caddyfiletest │ │ │ ├── forward_auth_authelia.caddyfiletest │ │ │ ├── forward_auth_copy_headers_strip.caddyfiletest │ │ │ ├── forward_auth_rename_headers.caddyfiletest │ │ │ ├── global_options.caddyfiletest │ │ │ ├── global_options_acme.caddyfiletest │ │ │ ├── global_options_admin.caddyfiletest │ │ │ ├── global_options_admin_with_persist_config_off.caddyfiletest │ │ │ ├── global_options_debug_with_access_log.caddyfiletest │ │ │ ├── global_options_default_bind.caddyfiletest │ │ │ ├── global_options_log_and_site.caddyfiletest │ │ │ ├── global_options_log_basic.caddyfiletest │ │ │ ├── global_options_log_custom.caddyfiletest │ │ │ ├── global_options_log_multi.caddyfiletest │ │ │ ├── global_options_log_sampling.caddyfiletest │ │ │ ├── global_options_persist_config.caddyfiletest │ │ │ ├── global_options_preferred_chains.caddyfiletest │ │ │ ├── global_options_resolvers.caddyfiletest │ │ │ ├── global_options_resolvers_http_challenge.caddyfiletest │ │ │ ├── global_options_resolvers_local_dns_inherit.caddyfiletest │ │ │ ├── global_options_resolvers_local_override.caddyfiletest │ │ │ ├── global_options_resolvers_mixed.caddyfiletest │ │ │ ├── global_options_skip_install_trust.caddyfiletest │ │ │ ├── global_server_options_multi.caddyfiletest │ │ │ ├── global_server_options_single.caddyfiletest │ │ │ ├── handle_nested_in_route.caddyfiletest │ │ │ ├── handle_path.caddyfiletest │ │ │ ├── handle_path_sorting.caddyfiletest │ │ │ ├── header.caddyfiletest │ │ │ ├── header_placeholder_search.caddyfiletest │ │ │ ├── heredoc.caddyfiletest │ │ │ ├── heredoc_extra_indentation.caddyfiletest │ │ │ ├── heredoc_incomplete.caddyfiletest │ │ │ ├── heredoc_invalid_marker.caddyfiletest │ │ │ ├── heredoc_mismatched_whitespace.caddyfiletest │ │ │ ├── heredoc_missing_marker.caddyfiletest │ │ │ ├── heredoc_too_many_angle_brackets.caddyfiletest │ │ │ ├── http_only_hostnames.caddyfiletest │ │ │ ├── http_only_on_any_address.caddyfiletest │ │ │ ├── http_only_on_domain.caddyfiletest │ │ │ ├── http_only_on_hostless_block.caddyfiletest │ │ │ ├── http_only_on_localhost.caddyfiletest │ │ │ ├── http_only_on_non_standard_port.caddyfiletest │ │ │ ├── http_valid_directive_like_site_address.caddyfiletest │ │ │ ├── https_on_domain.caddyfiletest │ │ │ ├── import_args_file.caddyfiletest │ │ │ ├── import_args_snippet.caddyfiletest │ │ │ ├── import_args_snippet_env_placeholder.caddyfiletest │ │ │ ├── import_block_anonymous.caddyfiletest │ │ │ ├── import_block_snippet.caddyfiletest │ │ │ ├── import_block_snippet_args.caddyfiletest │ │ │ ├── import_block_snippet_non_replaced_block.caddyfiletest │ │ │ ├── import_block_snippet_non_replaced_block_from_separate_file.caddyfiletest │ │ │ ├── import_block_snippet_non_replaced_key_block.caddyfiletest │ │ │ ├── import_block_with_site_block.caddyfiletest │ │ │ ├── import_blocks_snippet.caddyfiletest │ │ │ ├── import_blocks_snippet_nested.caddyfiletest │ │ │ ├── import_cycle.caddyfiletest │ │ │ ├── intercept_response.caddyfiletest │ │ │ ├── invoke_named_routes.caddyfiletest │ │ │ ├── invoke_undefined_named_route.caddyfiletest │ │ │ ├── log_add.caddyfiletest │ │ │ ├── log_append_encoder.caddyfiletest │ │ │ ├── log_except_catchall_blocks.caddyfiletest │ │ │ ├── log_filter_no_wrap.caddyfiletest │ │ │ ├── log_filter_with_header.txt │ │ │ ├── log_filters.caddyfiletest │ │ │ ├── log_multi_logger_name.caddyfiletest │ │ │ ├── log_multiple_regexp_filters.caddyfiletest │ │ │ ├── log_override_hostname.caddyfiletest │ │ │ ├── log_override_name_multiaccess.caddyfiletest │ │ │ ├── log_override_name_multiaccess_debug.caddyfiletest │ │ │ ├── log_roll_days.caddyfiletest │ │ │ ├── log_sampling.caddyfiletest │ │ │ ├── log_skip_hosts.caddyfiletest │ │ │ ├── map_and_vars_with_raw_types.caddyfiletest │ │ │ ├── matcher_outside_site_block.caddyfiletest │ │ │ ├── matcher_syntax.caddyfiletest │ │ │ ├── matchers_in_route.caddyfiletest │ │ │ ├── method_directive.caddyfiletest │ │ │ ├── metrics_disable_om.caddyfiletest │ │ │ ├── metrics_merge_options.caddyfiletest │ │ │ ├── metrics_perhost.caddyfiletest │ │ │ ├── metrics_syntax.caddyfiletest │ │ │ ├── not_block_merging.caddyfiletest │ │ │ ├── php_fastcgi_expanded_form.caddyfiletest │ │ │ ├── php_fastcgi_handle_response.caddyfiletest │ │ │ ├── php_fastcgi_index_off.caddyfiletest │ │ │ ├── php_fastcgi_matcher.caddyfiletest │ │ │ ├── php_fastcgi_subdirectives.caddyfiletest │ │ │ ├── php_fastcgi_try_files_override.caddyfiletest │ │ │ ├── php_fastcgi_try_files_override_no_dir_index.caddyfiletest │ │ │ ├── portless_upstream.caddyfiletest │ │ │ ├── push.caddyfiletest │ │ │ ├── renewal_window_ratio_global.caddyfiletest │ │ │ ├── renewal_window_ratio_tls_directive.caddyfiletest │ │ │ ├── replaceable_upstream.caddyfiletest │ │ │ ├── replaceable_upstream_partial_port.caddyfiletest │ │ │ ├── replaceable_upstream_port.caddyfiletest │ │ │ ├── request_body.caddyfiletest │ │ │ ├── request_header.caddyfiletest │ │ │ ├── reverse_proxy_buffers.caddyfiletest │ │ │ ├── reverse_proxy_dynamic_upstreams.caddyfiletest │ │ │ ├── reverse_proxy_dynamic_upstreams_grace_period.caddyfiletest │ │ │ ├── reverse_proxy_empty_non_http_transport.caddyfiletest │ │ │ ├── reverse_proxy_h2c_shorthand.caddyfiletest │ │ │ ├── reverse_proxy_handle_response.caddyfiletest │ │ │ ├── reverse_proxy_health_headers.caddyfiletest │ │ │ ├── reverse_proxy_health_method.caddyfiletest │ │ │ ├── reverse_proxy_health_path_query.caddyfiletest │ │ │ ├── reverse_proxy_health_reqbody.caddyfiletest │ │ │ ├── reverse_proxy_http_transport_forward_proxy_url.txt │ │ │ ├── reverse_proxy_http_transport_none_proxy.txt │ │ │ ├── reverse_proxy_http_transport_tls_file_cert.txt │ │ │ ├── reverse_proxy_http_transport_tls_inline_cert.txt │ │ │ ├── reverse_proxy_http_transport_url_proxy.txt │ │ │ ├── reverse_proxy_load_balance.caddyfiletest │ │ │ ├── reverse_proxy_load_balance_wrr.caddyfiletest │ │ │ ├── reverse_proxy_localaddr.caddyfiletest │ │ │ ├── reverse_proxy_options.caddyfiletest │ │ │ ├── reverse_proxy_port_range.caddyfiletest │ │ │ ├── reverse_proxy_trusted_proxies.caddyfiletest │ │ │ ├── reverse_proxy_trusted_proxies_unix.caddyfiletest │ │ │ ├── reverse_proxy_upstream_placeholder.caddyfiletest │ │ │ ├── rewrite_directive_permutations.caddyfiletest │ │ │ ├── root_directive_permutations.caddyfiletest │ │ │ ├── server_names.caddyfiletest │ │ │ ├── shorthand_parameterized_placeholders.caddyfiletest │ │ │ ├── site_address_invalid_port.caddyfiletest │ │ │ ├── site_address_negative_port.caddyfiletest │ │ │ ├── site_address_unsupported_scheme.caddyfiletest │ │ │ ├── site_address_wss_invalid_port.caddyfiletest │ │ │ ├── site_address_wss_scheme.caddyfiletest │ │ │ ├── site_block_sorting.caddyfiletest │ │ │ ├── sort_directives_with_any_matcher_first.caddyfiletest │ │ │ ├── sort_directives_within_handle.caddyfiletest │ │ │ ├── sort_vars_in_reverse.caddyfiletest │ │ │ ├── tls_acme_dns_override_global_dns.caddyfiletest │ │ │ ├── tls_acme_preferred_chains.caddyfiletest │ │ │ ├── tls_automation_policies_1.caddyfiletest │ │ │ ├── tls_automation_policies_10.caddyfiletest │ │ │ ├── tls_automation_policies_11.caddyfiletest │ │ │ ├── tls_automation_policies_2.caddyfiletest │ │ │ ├── tls_automation_policies_3.caddyfiletest │ │ │ ├── tls_automation_policies_4.caddyfiletest │ │ │ ├── tls_automation_policies_5.caddyfiletest │ │ │ ├── tls_automation_policies_6.caddyfiletest │ │ │ ├── tls_automation_policies_7.caddyfiletest │ │ │ ├── tls_automation_policies_8.caddyfiletest │ │ │ ├── tls_automation_policies_9.caddyfiletest │ │ │ ├── tls_automation_policies_global_email_localhost.caddyfiletest │ │ │ ├── tls_automation_wildcard_force_automate.caddyfiletest │ │ │ ├── tls_automation_wildcard_shadowing.caddyfiletest │ │ │ ├── tls_client_auth_cert_file-legacy-with-verifier.caddyfiletest │ │ │ ├── tls_client_auth_cert_file-legacy.caddyfiletest │ │ │ ├── tls_client_auth_cert_file.caddyfiletest │ │ │ ├── tls_client_auth_inline_cert-legacy.caddyfiletest │ │ │ ├── tls_client_auth_inline_cert.caddyfiletest │ │ │ ├── tls_client_auth_inline_cert_with_leaf_trust.caddyfiletest │ │ │ ├── tls_client_auth_leaf_verifier_file_loader_block.caddyfiletest │ │ │ ├── tls_client_auth_leaf_verifier_file_loader_inline.caddyfiletest │ │ │ ├── tls_client_auth_leaf_verifier_file_loader_multi-in-block.caddyfiletest │ │ │ ├── tls_client_auth_leaf_verifier_folder_loader_block.caddyfiletest │ │ │ ├── tls_client_auth_leaf_verifier_folder_loader_inline.caddyfiletest │ │ │ ├── tls_client_auth_leaf_verifier_folder_loader_multi-in-block.caddyfiletest │ │ │ ├── tls_conn_policy_consolidate.caddyfiletest │ │ │ ├── tls_dns_multiple_options_without_provider.caddyfiletest │ │ │ ├── tls_dns_override_acme_dns.caddyfiletest │ │ │ ├── tls_dns_override_global_dns.caddyfiletest │ │ │ ├── tls_dns_propagation_timeout_without_provider.caddyfiletest │ │ │ ├── tls_dns_propagation_without_provider.caddyfiletest │ │ │ ├── tls_dns_resolvers_with_global_provider.caddyfiletest │ │ │ ├── tls_dns_ttl.caddyfiletest │ │ │ ├── tls_explicit_issuer_dns_ttl.caddyfiletest │ │ │ ├── tls_explicit_issuer_propagation_options.caddyfiletest │ │ │ ├── tls_internal_options.caddyfiletest │ │ │ ├── tls_propagation_options.caddyfiletest │ │ │ ├── tracing.caddyfiletest │ │ │ ├── uri_query_operations.caddyfiletest │ │ │ ├── uri_replace_brace_escape.caddyfiletest │ │ │ └── wildcard_pattern.caddyfiletest │ │ ├── caddyfile_adapt_test.go │ │ ├── caddyfile_test.go │ │ ├── forwardauth_test.go │ │ ├── h2listener_test.go │ │ ├── handler_test.go │ │ ├── intercept_test.go │ │ ├── leafcertloaders_test.go │ │ ├── listener_test.go │ │ ├── map_test.go │ │ ├── mockdns_test.go │ │ ├── pki_test.go │ │ ├── proxyprotocol_test.go │ │ ├── reverseproxy_test.go │ │ ├── sni_test.go │ │ ├── stream_test.go │ │ └── testdata/ │ │ ├── cookie.html │ │ ├── foo.txt │ │ ├── foo_with_multiple_trailing_newlines.txt │ │ ├── foo_with_trailing_newline.txt │ │ ├── import_respond.txt │ │ ├── index.localhost.html │ │ └── issue_7518_unused_block_panic_snippets.conf │ └── leafcert.pem ├── cmd/ │ ├── caddy/ │ │ ├── main.go │ │ └── setcap.sh │ ├── cobra.go │ ├── commandfactory.go │ ├── commandfuncs.go │ ├── commands.go │ ├── commands_test.go │ ├── main.go │ ├── main_test.go │ ├── packagesfuncs.go │ ├── removebinary.go │ ├── removebinary_windows.go │ ├── storagefuncs.go │ └── x509rootsfallback.go ├── context.go ├── context_test.go ├── duration_fuzz.go ├── filepath.go ├── filepath_windows.go ├── filesystem.go ├── go.mod ├── go.sum ├── internal/ │ ├── filesystems/ │ │ ├── map.go │ │ └── os.go │ ├── logbuffer.go │ ├── logs.go │ ├── metrics/ │ │ ├── metrics.go │ │ └── metrics_test.go │ ├── ranges.go │ ├── sockets.go │ └── testmocks/ │ └── dummyverifier.go ├── listen.go ├── listen_unix.go ├── listen_unix_setopt.go ├── listen_unix_setopt_freebsd.go ├── listeners.go ├── listeners_fuzz.go ├── listeners_test.go ├── logging.go ├── logging_test.go ├── metrics.go ├── modules/ │ ├── caddyevents/ │ │ ├── app.go │ │ └── eventsconfig/ │ │ └── caddyfile.go │ ├── caddyfs/ │ │ └── filesystem.go │ ├── caddyhttp/ │ │ ├── app.go │ │ ├── autohttps.go │ │ ├── caddyauth/ │ │ │ ├── argon2id.go │ │ │ ├── basicauth.go │ │ │ ├── bcrypt.go │ │ │ ├── caddyauth.go │ │ │ ├── caddyfile.go │ │ │ └── command.go │ │ ├── caddyhttp.go │ │ ├── caddyhttp_test.go │ │ ├── celmatcher.go │ │ ├── celmatcher_test.go │ │ ├── encode/ │ │ │ ├── brotli/ │ │ │ │ └── brotli_precompressed.go │ │ │ ├── caddyfile.go │ │ │ ├── encode.go │ │ │ ├── encode_test.go │ │ │ ├── gzip/ │ │ │ │ ├── gzip.go │ │ │ │ └── gzip_precompressed.go │ │ │ └── zstd/ │ │ │ ├── zstd.go │ │ │ └── zstd_precompressed.go │ │ ├── errors.go │ │ ├── fileserver/ │ │ │ ├── browse.go │ │ │ ├── browse.html │ │ │ ├── browsetplcontext.go │ │ │ ├── browsetplcontext_test.go │ │ │ ├── caddyfile.go │ │ │ ├── command.go │ │ │ ├── matcher.go │ │ │ ├── matcher_test.go │ │ │ ├── staticfiles.go │ │ │ ├── staticfiles_test.go │ │ │ └── testdata/ │ │ │ ├── %D9%85%D9%84%D9%81.txt │ │ │ ├── foo.php.php/ │ │ │ │ └── index.php │ │ │ ├── foo.txt │ │ │ ├── foodir/ │ │ │ │ ├── bar.txt │ │ │ │ └── foo.txt │ │ │ ├── index.php │ │ │ ├── large.txt │ │ │ ├── notphp.php.txt │ │ │ ├── remote.php │ │ │ └── ملف.txt │ │ ├── headers/ │ │ │ ├── caddyfile.go │ │ │ ├── headers.go │ │ │ └── headers_test.go │ │ ├── http2listener.go │ │ ├── httpredirectlistener.go │ │ ├── intercept/ │ │ │ └── intercept.go │ │ ├── invoke.go │ │ ├── ip_matchers.go │ │ ├── ip_range.go │ │ ├── logging/ │ │ │ ├── caddyfile.go │ │ │ └── logappend.go │ │ ├── logging.go │ │ ├── map/ │ │ │ ├── caddyfile.go │ │ │ ├── map.go │ │ │ └── map_test.go │ │ ├── marshalers.go │ │ ├── matchers.go │ │ ├── matchers_test.go │ │ ├── metrics.go │ │ ├── metrics_test.go │ │ ├── proxyprotocol/ │ │ │ ├── listenerwrapper.go │ │ │ ├── module.go │ │ │ └── policy.go │ │ ├── push/ │ │ │ ├── caddyfile.go │ │ │ ├── handler.go │ │ │ ├── link.go │ │ │ └── link_test.go │ │ ├── replacer.go │ │ ├── replacer_test.go │ │ ├── requestbody/ │ │ │ ├── caddyfile.go │ │ │ └── requestbody.go │ │ ├── responsematchers.go │ │ ├── responsematchers_test.go │ │ ├── responsewriter.go │ │ ├── responsewriter_test.go │ │ ├── reverseproxy/ │ │ │ ├── addresses.go │ │ │ ├── addresses_test.go │ │ │ ├── admin.go │ │ │ ├── admin_test.go │ │ │ ├── ascii.go │ │ │ ├── ascii_test.go │ │ │ ├── buffering_test.go │ │ │ ├── caddyfile.go │ │ │ ├── command.go │ │ │ ├── copyresponse.go │ │ │ ├── dynamic_upstreams_test.go │ │ │ ├── fastcgi/ │ │ │ │ ├── caddyfile.go │ │ │ │ ├── client.go │ │ │ │ ├── client_test.go │ │ │ │ ├── fastcgi.go │ │ │ │ ├── fastcgi_test.go │ │ │ │ ├── header.go │ │ │ │ ├── pool.go │ │ │ │ ├── reader.go │ │ │ │ ├── record.go │ │ │ │ └── writer.go │ │ │ ├── forwardauth/ │ │ │ │ └── caddyfile.go │ │ │ ├── headers_test.go │ │ │ ├── healthchecks.go │ │ │ ├── hosts.go │ │ │ ├── httptransport.go │ │ │ ├── httptransport_test.go │ │ │ ├── metrics.go │ │ │ ├── passive_health_test.go │ │ │ ├── retries_test.go │ │ │ ├── reverseproxy.go │ │ │ ├── selectionpolicies.go │ │ │ ├── selectionpolicies_test.go │ │ │ ├── streaming.go │ │ │ ├── streaming_test.go │ │ │ ├── upstreams.go │ │ │ └── upstreams_test.go │ │ ├── rewrite/ │ │ │ ├── caddyfile.go │ │ │ ├── rewrite.go │ │ │ └── rewrite_test.go │ │ ├── routes.go │ │ ├── server.go │ │ ├── server_test.go │ │ ├── standard/ │ │ │ └── imports.go │ │ ├── staticerror.go │ │ ├── staticresp.go │ │ ├── staticresp_test.go │ │ ├── subroute.go │ │ ├── templates/ │ │ │ ├── caddyfile.go │ │ │ ├── frontmatter.go │ │ │ ├── frontmatter_fuzz.go │ │ │ ├── templates.go │ │ │ ├── tplcontext.go │ │ │ └── tplcontext_test.go │ │ ├── tracing/ │ │ │ ├── module.go │ │ │ ├── module_test.go │ │ │ ├── tracer.go │ │ │ ├── tracer_test.go │ │ │ ├── tracerprovider.go │ │ │ └── tracerprovider_test.go │ │ └── vars.go │ ├── caddypki/ │ │ ├── acmeserver/ │ │ │ ├── acmeserver.go │ │ │ ├── acmeserver_test.go │ │ │ ├── caddyfile.go │ │ │ ├── challenges.go │ │ │ ├── policy.go │ │ │ └── policy_test.go │ │ ├── adminapi.go │ │ ├── ca.go │ │ ├── certificates.go │ │ ├── command.go │ │ ├── crypto.go │ │ ├── crypto_test.go │ │ ├── maintain.go │ │ ├── maintain_test.go │ │ └── pki.go │ ├── caddytls/ │ │ ├── acmeissuer.go │ │ ├── automation.go │ │ ├── capools.go │ │ ├── capools_test.go │ │ ├── certmanagers.go │ │ ├── certselection.go │ │ ├── connpolicy.go │ │ ├── connpolicy_test.go │ │ ├── distributedstek/ │ │ │ └── distributedstek.go │ │ ├── ech.go │ │ ├── fileloader.go │ │ ├── folderloader.go │ │ ├── internalissuer.go │ │ ├── internalissuer_test.go │ │ ├── leaffileloader.go │ │ ├── leaffileloader_test.go │ │ ├── leaffolderloader.go │ │ ├── leaffolderloader_test.go │ │ ├── leafpemloader.go │ │ ├── leafpemloader_test.go │ │ ├── leafstorageloader.go │ │ ├── matchers.go │ │ ├── matchers_test.go │ │ ├── ondemand.go │ │ ├── pemloader.go │ │ ├── sessiontickets.go │ │ ├── standardstek/ │ │ │ └── stek.go │ │ ├── storageloader.go │ │ ├── tls.go │ │ ├── values.go │ │ └── zerosslissuer.go │ ├── filestorage/ │ │ └── filestorage.go │ ├── internal/ │ │ └── network/ │ │ └── networkproxy.go │ ├── logging/ │ │ ├── appendencoder.go │ │ ├── cores.go │ │ ├── encoders.go │ │ ├── filewriter.go │ │ ├── filewriter_test.go │ │ ├── filewriter_test_windows.go │ │ ├── filterencoder.go │ │ ├── filters.go │ │ ├── filters_test.go │ │ ├── netwriter.go │ │ └── nopencoder.go │ ├── metrics/ │ │ ├── adminmetrics.go │ │ ├── metrics.go │ │ └── metrics_test.go │ └── standard/ │ └── imports.go ├── modules.go ├── modules_test.go ├── notify/ │ ├── notify_linux.go │ ├── notify_other.go │ └── notify_windows.go ├── replacer.go ├── replacer_fuzz.go ├── replacer_test.go ├── service_windows.go ├── sigtrap.go ├── sigtrap_nonposix.go ├── sigtrap_posix.go ├── storage.go └── usagepool.go