summaryrefslogtreecommitdiff
path: root/worker.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker.go')
-rw-r--r--worker.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/worker.go b/worker.go
index 3c64d68..6d659da 100644
--- a/worker.go
+++ b/worker.go
@@ -57,6 +57,7 @@ func (w *Worker) Start (filename string) error {
func (w *Worker) Listen () {
for {
r := <- w.read
+ resStack := w.lua.RestoreStackFunc()
handlerRef := w.routes[r.Route]
w.lua.PushFromRef(handlerRef)
w.lua.PushString(r.Request.Method)
@@ -70,7 +71,7 @@ func (w *Worker) Listen () {
body, err := io.ReadAll(r.Request.Body)
if err != nil {
- w.lua.Pop(4);
+ resStack()
r.result <- &WorkerResponse {
Code: 500,
Headers: make(map[string]string),
@@ -101,7 +102,7 @@ func (w *Worker) Listen () {
k := w.lua.ToString(-1)
headers[k] = v
}
- w.lua.Pop(2)
+ resStack()
r.result <- &WorkerResponse {
Code: int(code),