diff --git a/routes/function/controller.go b/routes/function/controller.go index 26d2a70..ab198a6 100644 --- a/routes/function/controller.go +++ b/routes/function/controller.go @@ -261,7 +261,7 @@ func (c *Controller) RunFunction(ctx *gin.Context) { } _, err = http.Post( - fmt.Sprint("http://", string(fnState.Address), ":", fnState.Port, "/execute"), + fmt.Sprint(string(fnState.Address), ":", fnState.Port, "/execute"), "application/json", ctx.Request.Body, ) diff --git a/scheduler/scheduler.go b/scheduler/scheduler.go index a34c443..ee93ba6 100644 --- a/scheduler/scheduler.go +++ b/scheduler/scheduler.go @@ -5,6 +5,8 @@ import ( "errors" "fmt" "time" + "net/url" + "github.com/do4-2022/grobuzin/database" "github.com/google/uuid" @@ -67,6 +69,7 @@ func (s *Scheduler) LookForReadyInstance(functionId uuid.UUID, cursor uint64) (f } func (s *Scheduler) SpawnVM(function database.Function) (fnState database.FunctionState, err error) { + url, _ := url.Parse(s.Lambdo.URL) res, err := s.Lambdo.SpawnVM(function) if (err != nil) { @@ -77,7 +80,7 @@ func (s *Scheduler) SpawnVM(function database.Function) (fnState database.Functi fnState = database.FunctionState{ ID: res.ID, - Address: s.Lambdo.URL, + Address: fmt.Sprint(url.Scheme, "://", url.Hostname()), Port: res.Ports[0][0], Status: int(database.FnReady), LastUsed: "never",