// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Collections.Generic; namespace Microsoft.AspNetCore.HttpsPolicy { /// /// Options for the Hsts Middleware /// public class HstsOptions { /// /// Sets the max-age parameter of the Strict-Transport-Security header. /// /// /// Max-age is required; defaults to 30 days. /// See: https://tools.ietf.org/html/rfc6797#section-6.1.1 /// public TimeSpan MaxAge { get; set; } = TimeSpan.FromDays(30); /// /// Enables includeSubDomain parameter of the Strict-Transport-Security header. /// /// /// See: https://tools.ietf.org/html/rfc6797#section-6.1.2 /// public bool IncludeSubDomains { get; set; } /// /// Sets the preload parameter of the Strict-Transport-Security header. /// /// /// Preload is not part of the RFC specification, but is supported by web browsers /// to preload HSTS sites on fresh install. See https://hstspreload.org/. /// public bool Preload { get; set; } /// /// A list of host names that will not add the HSTS header. /// public IList ExcludedHosts { get; } = new List { "localhost", "127.0.0.1", // ipv4 "[::1]" // ipv6 }; } }