extern type web_place;
extern val web_place_default : web_node -> web_place;
-extern val web_place : web_node -> your_ip -> web_place;
+extern val web_place : web_node -> your_ip -> your_ipv6 -> web_place;
extern val web_place_to_web_node : web_place -> web_node;
extern val web_place_to_node : web_place -> node;
extern val web_place_to_ip : web_place -> ip;
+extern val web_place_to_ipv6 : web_place -> ipv6;
{{Web places are combinations of web nodes (servers on which you are allowed to
run web sites) and IP addresses on which those servers should listen for
requests.}}
extern type ssl_cert_path;
{{Filesystem path to an SSL certificate in your 'cert' list}}
+extern type ssl_cacert_path;
+{{Filesystem path to an intermediate CA certificate in your 'cacert' list}}
+
extern type ssl;
extern val no_ssl : ssl;
extern val use_cert : ssl_cert_path -> ssl;
extern type php_version;
-extern val php4 : php_version;
-extern val php5 : php_version;
+extern val php56 : php_version;
+{{FastCGI based php 5.6.}}
+extern val php72 : php_version;
+{{FastCGI based php 7.2.}}
+
+val fast_php : php_version = php56;
extern val vhost : host -> Vhost => [Domain]
{WebPlaces : [web_place],
{{Set some configuration specific to a URI prefix or filesystem directory,
respectively.}}
+extern type regexp;
+{{PCRE regular expression}}
+
+extern val filesMatch : regexp -> ^Vhost & Location => [Vhost & !Location];
+{{Mark nested configuration to only apply to filenames matching the regexp.}}
+
extern val serverAliasHost : your_domain_host -> [Vhost];
{{Give an alternate hostname for this vhost.}}
extern val serverAlias : host -> [Vhost];
instead of any of their hosts/"subdomains".}}
extern val testNoHtaccess : [Location];
+
+extern val sslCertificateChainFile : ssl_cacert_path -> [Vhost];
+{{Intermediate file to serve as part of the chain of authority for
+ your ssl certificate}}
\ No newline at end of file