using MD5 using HTTP using JSON2 function getlogin(app, req) query = HTTP.URIs.queryparams(req[:query]) req[:login] = Dict(:name => string(get(query, "u", "")), :token => get(query, "t", ""), :salt => get(query, "s", ""), :password => get(query, "p", ""), :login => false) return app(req) end function checkpassword(app, req) user = JlSonic.checkpass(req[:login][:name], req[:login][:salt], req[:login][:token], req[:login][:password]) if user == nothing req[:login][:login] = false else req[:login][:login] = true req[:login][:user] = user end return app(req) end sonic_login = stack(getlogin, checkpassword)