diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1429f1d --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ + +tmp/ + +*.exe diff --git a/load-test.js b/load-test.js index 248b133..5cc9a6a 100644 --- a/load-test.js +++ b/load-test.js @@ -5,9 +5,9 @@ export default function () { for (let i = 0; i < 250; i++) { var rand = Math.random() if (rand > 0.5) { - http.get(`http://127.0.0.1:8080/get/${random_string(1)}`); + http.get(`http://127.0.0.1:8082/get/${random_string(1)}`); } else { - http.post(`http://127.0.0.1:8080/set/${random_string(1)}`, random_string(5)); + http.post(`http://127.0.0.1:8082/set/${random_string(1)}`, random_string(5)); } } }; diff --git a/load-test2.js b/load-test2.js deleted file mode 100644 index 90055c7..0000000 --- a/load-test2.js +++ /dev/null @@ -1,5 +0,0 @@ -import http from "k6/http"; - -export default function () { - http.get(`http://localhost:8082/`); -}; \ No newline at end of file diff --git a/stupid-kv - Copy.v b/stupid-kv - Copy.v deleted file mode 100644 index 7d3b079..0000000 --- a/stupid-kv - Copy.v +++ /dev/null @@ -1,41 +0,0 @@ -module main - -import vweb - -const ( - port = 8082 -) - -struct App { - vweb.Context -mut: - state shared State -} - -struct State { -mut: - kv_store map[string]string = {} -} - -fn main() { - mut app := &App{} - println('stupid kvstore') - vweb.run(app, port) -} - -['/get/:key'] -pub fn (mut app App) kv_get(key string) vweb.Result { - lock app.state { - res := app.state.kv_store[key] or { return app.not_found() } - return app.ok(res) - } - return app.not_found() -} - -['/set/:key'; post] -fn (mut app App) kv_set(key string) vweb.Result { - lock app.state { - app.state.kv_store[key] = app.req.data - } - return app.text('OK') -} diff --git a/stupid-kv.v b/stupid-kv.v index 3d63834..764767d 100644 --- a/stupid-kv.v +++ b/stupid-kv.v @@ -1,10 +1,9 @@ module main import vweb -import json const ( - port = 8080 + port = 8082 ) struct App { @@ -15,45 +14,31 @@ mut: struct State { mut: - kv_store string + kv_store map[string]string = {} } fn main() { mut app := &App{} println('stupid kvstore') lock app.state { - app.state.kv_store = '{}' + app.state.kv_store = {} } - //vweb.run(app, port) - vweb.run_at(app, family: .ip, host: 'localhost', port: port) ? + vweb.run_at(app, family: .ip, host: 'localhost', port: port)? } ['/get/:key'] pub fn (mut app App) kv_get(key string) vweb.Result { lock app.state { - // data := json.decode(map[string]string, app.state.kv_store) or { - // return app.server_error(500) - // } - // if key in data { - // r := data[key] - // return app.ok(r) - // } else { - // return app.not_found() - // } - - return app.ok(app.state.kv_store) + res := app.state.kv_store[key] or { return app.not_found() } + return app.ok(res) } - return app.server_error(500) + return app.not_found() } ['/set/:key'; post] fn (mut app App) kv_set(key string) vweb.Result { lock app.state { - // mut data := json.decode(map[string]string, app.state.kv_store) or { - // return app.server_error(500) - // } - // data[key] = app.req.data - app.state.kv_store = app.req.data//json.encode(data) + app.state.kv_store[key] = app.req.data } return app.text('OK') } diff --git a/vweb_example.v b/vweb_example.v deleted file mode 100644 index 7f60086..0000000 --- a/vweb_example.v +++ /dev/null @@ -1,17 +0,0 @@ -module main - -import vweb - -struct App { - vweb.Context -} - - -fn main() { - mut app := &App{} - vweb.run_at(app, family: .ip, host: 'localhost', port: 8082) ? -} - -pub fn (mut app App) index() vweb.Result { - return app.text('World') -} \ No newline at end of file