diff --git a/davi.go b/davi.go index 87a46d4..e7c1ef2 100644 --- a/davi.go +++ b/davi.go @@ -18,7 +18,8 @@ func main() { //$url = "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t=temperature_2m,wind_speed_10m&hourly=temperature_2m,relative_humidity_2m,wind_speed_10m"; //fileGetContents($url); - httpRegister("GET", "/hello"); + httpRegister("/", "Cool!"); + httpRegister("/hello", "Hello, World!"); httpListen(":3030"); `) diff --git a/interpreter/functions.go b/interpreter/functions.go index ae697e3..83ef70a 100644 --- a/interpreter/functions.go +++ b/interpreter/functions.go @@ -491,10 +491,13 @@ func httpRegisterFunction(interp *interpreter, pos Position, args []Value) Value panic(typeError(pos, "httpRegisterFunction() requires 2 args, got %d", len(args))) } + pattern := args[0].(string) + handler := args[1].(string) + getRoot := func(w http.ResponseWriter, r *http.Request) { - fmt.Fprintln(w, "Hello, Davinci!") + fmt.Fprintln(w, handler) } - http.HandleFunc("/", getRoot) + http.HandleFunc(pattern, getRoot) return Value(nil) diff --git a/interpreter/functions/http_server.go b/interpreter/functions/http_server.go new file mode 100644 index 0000000..b13ee3d --- /dev/null +++ b/interpreter/functions/http_server.go @@ -0,0 +1 @@ +package functions