From 7a052182c038dab42000ca3ea0cf7de601eeb07b Mon Sep 17 00:00:00 2001 From: unwox Date: Thu, 19 Dec 2024 13:19:16 +0600 Subject: add luna.utf8.upper function --- main.go | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index e3f29a2..8b32585 100644 --- a/main.go +++ b/main.go @@ -34,21 +34,7 @@ func main() { } luaArgv := flag.Args() mustExist(luaArgv[0]) - - dbMux := sync.Mutex{} httpClient := &http.Client{} - dbPool := []*sql.DB{} - dbCur := 0 - dbGet := func() *sql.DB { - dbMux.Lock() - defer dbMux.Unlock() - dbCur = (dbCur + 1) % 300 - return dbPool[dbCur] - } - for i := 0; i < 300; i++ { - db, _ := sql.Open("sqlite3", "file:var/db.sqlite?_journal=WAL&_sync=NORMAL") - dbPool = append(dbPool, db) - } // queue for http messages for workers to handle msgs := make(chan *HTTPRequest, 4096) @@ -132,10 +118,15 @@ func main() { return luaOk(l, nil) } routes[route] = true + mu.Lock() mux.Handle( route, - http.StripPrefix("/static/", http.FileServer(http.Dir(dir))), + http.StripPrefix( + strings.TrimPrefix(route, "GET "), + http.FileServer(http.Dir(dir)), + ), ) + mu.Unlock() return luaOk(l, nil) } @@ -260,7 +251,7 @@ func main() { if err != nil { return luaErr(l, err) } - db := dbGet() + db := handle.Value().(*sql.DB) _, err = db.Exec(query, params...) if err != nil { return luaErr(l, err) @@ -276,7 +267,7 @@ func main() { return luaErr(l, err) } ares := []any{} - db := dbGet() + db := handle.Value().(*sql.DB) rows, err := db.Query(query, params...) if err != nil { return luaErr(l, err) @@ -312,7 +303,7 @@ func main() { if err != nil { return luaErr(l, err) } - db := dbGet() + db := handle.Value().(*sql.DB) rows, err := db.Query(query, params...) if err != nil { return luaErr(l, err) @@ -382,6 +373,14 @@ func main() { } return luaOk(l, strings.ToLower(str)) } + utf8Module["upper"] = func (l *Lua) int { + var str string + err := l.Scan(&str) + if err != nil { + return luaErr(l, err) + } + return luaOk(l, strings.ToUpper(str)) + } utf8Module["sub"] = func (l *Lua) int { var str string var start, length int -- cgit v1.2.3