app-template-golang/main.go (22 lines of code) (raw):

// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package main import ( "fmt" "log" "net/http" "os" ) func main() { env := os.Getenv("ENVIRONMENT") port := 8080 log.Printf("Running in environment: %s\n", env) http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { log.Printf("Received request from %s at %s", r.RemoteAddr, r.URL.EscapedPath()) fmt.Fprint(w, "Hello World!") }) http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { log.Printf("Received health check from %s", r.RemoteAddr) w.WriteHeader(http.StatusOK) }) log.Printf("Starting server on port: %v", port) log.Fatal(http.ListenAndServe(fmt.Sprintf(":%v", port), nil)) }