// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Package golangorgenv provides environment information for programs running at // golang.org and its subdomains. package golangorgenv import ( "log" "os" "strconv" ) var ( checkCountry = boolEnv("GOLANGORG_CHECK_COUNTRY") enforceHosts = boolEnv("GOLANGORG_ENFORCE_HOSTS") ) // CheckCountry reports whether country restrictions should be enforced. func CheckCountry() bool { return checkCountry } // EnforceHosts reports whether host filtering should be enforced. func EnforceHosts() bool { return enforceHosts } func boolEnv(key string) bool { v := os.Getenv(key) if v == "" { // TODO(dmitshur): In the future, consider detecting if running in App Engine, // and if so, making the environment variables mandatory rather than optional. return false } b, err := strconv.ParseBool(v) if err != nil { log.Fatalf("environment variable %s (%q) must be a boolean", key, v) } return b }