Helper function to set default values
(config ...Config)
| 98 | |
| 99 | // Helper function to set default values |
| 100 | func configDefault(config ...Config) Config { |
| 101 | // Return default config if nothing provided |
| 102 | if len(config) < 1 { |
| 103 | return ConfigDefault |
| 104 | } |
| 105 | |
| 106 | // Override default config |
| 107 | cfg := config[0] |
| 108 | |
| 109 | if cfg.HSTSMaxAge < 0 { |
| 110 | panic("helmet: HSTSMaxAge must be greater than or equal to 0") |
| 111 | } |
| 112 | |
| 113 | if cfg.HSTSPreloadEnabled && cfg.HSTSExcludeSubdomains { |
| 114 | panic("helmet: HSTSPreloadEnabled requires HSTSExcludeSubdomains to be false") |
| 115 | } |
| 116 | |
| 117 | // Set default values |
| 118 | if cfg.XSSProtection == "" { |
| 119 | cfg.XSSProtection = ConfigDefault.XSSProtection |
| 120 | } |
| 121 | |
| 122 | if cfg.ContentTypeNosniff == "" { |
| 123 | cfg.ContentTypeNosniff = ConfigDefault.ContentTypeNosniff |
| 124 | } |
| 125 | |
| 126 | if cfg.XFrameOptions == "" { |
| 127 | cfg.XFrameOptions = ConfigDefault.XFrameOptions |
| 128 | } |
| 129 | |
| 130 | if cfg.ReferrerPolicy == "" { |
| 131 | cfg.ReferrerPolicy = ConfigDefault.ReferrerPolicy |
| 132 | } |
| 133 | |
| 134 | if cfg.CrossOriginEmbedderPolicy == "" { |
| 135 | cfg.CrossOriginEmbedderPolicy = ConfigDefault.CrossOriginEmbedderPolicy |
| 136 | } |
| 137 | |
| 138 | if cfg.CrossOriginOpenerPolicy == "" { |
| 139 | cfg.CrossOriginOpenerPolicy = ConfigDefault.CrossOriginOpenerPolicy |
| 140 | } |
| 141 | |
| 142 | if cfg.CrossOriginResourcePolicy == "" { |
| 143 | cfg.CrossOriginResourcePolicy = ConfigDefault.CrossOriginResourcePolicy |
| 144 | } |
| 145 | |
| 146 | if cfg.OriginAgentCluster == "" { |
| 147 | cfg.OriginAgentCluster = ConfigDefault.OriginAgentCluster |
| 148 | } |
| 149 | |
| 150 | if cfg.XDNSPrefetchControl == "" { |
| 151 | cfg.XDNSPrefetchControl = ConfigDefault.XDNSPrefetchControl |
| 152 | } |
| 153 | |
| 154 | if cfg.XDownloadOptions == "" { |
| 155 | cfg.XDownloadOptions = ConfigDefault.XDownloadOptions |
| 156 | } |
| 157 |