diff options
| -rw-r--r-- | main.go | 35 |
1 files changed, 17 insertions, 18 deletions
@@ -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 |
