Automatic push from FunctionsAPI

This commit is contained in:
FunctionsAPI 2025-01-27 12:40:58 +00:00
parent ceb86043d9
commit 2e65cef018
3 changed files with 61 additions and 2 deletions

View File

@ -1,2 +1 @@
# 06f9ee2e5383475983fd3f9ad1e906f2
# go hello-world

5
go.mod Normal file
View File

@ -0,0 +1,5 @@
module example.com/main
go 1.17
require github.com/OpenFunction/functions-framework-go v0.5.0

55
main.go Normal file
View File

@ -0,0 +1,55 @@
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
)
// RequestData represents the JSON structure for incoming requests
type RequestData struct {
A int `json:"a"`
B int `json:"b"`
}
// mainHandler handles HTTP requests and processes the data
func mainHandler(w http.ResponseWriter, r *http.Request) {
log.Println("Function called with request")
// Decode the JSON body into the RequestData struct
var data RequestData
err := json.NewDecoder(r.Body).Decode(&data)
if err != nil {
http.Error(w, "Invalid JSON payload", http.StatusBadRequest)
log.Println("Error decoding JSON:", err)
return
}
log.Printf("Received data: %+v\n", data)
// Compute the result
result := data.A + data.B
// Prepare the response
response := map[string]int{"result": result}
// Encode the response as JSON
w.Header().Set("Content-Type", "application/json")
err = json.NewEncoder(w).Encode(response)
if err != nil {
http.Error(w, "Error encoding response", http.StatusInternalServerError)
log.Println("Error encoding JSON:", err)
return
}
log.Println("Response sent successfully")
}
func Main() {
// Set up the HTTP server
http.HandleFunc("/", mainHandler)
fmt.Println("Server is running on http://localhost:8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}