updates and cleanup.
This commit is contained in:
@@ -9,17 +9,11 @@ require "zlib"
|
||||
|
||||
ALPHANUM = [*"0".."9", *"A".."Z", *"a".."z", "-", "_"].freeze
|
||||
|
||||
env_data = File.exist?(".env") ? File.read(".env") : ""
|
||||
|
||||
env_data.each_line do |line|
|
||||
next unless (match = line.match(/^([A-Z_][A-Z0-9_]*)=(.*)$/))
|
||||
ENV[match[1]] = match[2]
|
||||
end
|
||||
|
||||
load "logman.rb"
|
||||
# Logman.log ENV.inspect
|
||||
|
||||
db_file = ENV.fetch("INFINSWEEPER_DB", File.expand_path("infinsweeper.db", __dir__))
|
||||
db_file = File.expand_path(ENV.fetch("INFINSWEEPER_DB", "infinsweeper.db"))
|
||||
puts db_file
|
||||
DB = Sequel.connect("sqlite:///#{db_file}", single_threaded: false)
|
||||
DB.run("PRAGMA foreign_keys = ON;")
|
||||
DB.create_table? :Players do
|
||||
@@ -45,6 +39,8 @@ load "players.rb"
|
||||
load "session.rb"
|
||||
|
||||
set :port, ENV.fetch("PORT", 5161)
|
||||
set :bind, '0.0.0.0'
|
||||
set :host_authorization, { permitted_hosts: ["infinsweeper.syedm.dev"] }
|
||||
set :public_folder, "public"
|
||||
|
||||
get "/" do
|
||||
@@ -72,6 +68,8 @@ post "/signup" do
|
||||
return { "message" => "Unauthorized (invalid CSRF token)!" }.to_json
|
||||
end
|
||||
session["csrf_token"] = Array.new(32) { ALPHANUM.sample }.join
|
||||
status 401
|
||||
return { "message" => "New signups are disabled right now.", "csrf_token" => session["csrf_token"] }.to_json
|
||||
if data["email"].nil? || data["pass"].nil? || data["username"].nil?
|
||||
status 400
|
||||
return { "message" => "Bad request made!", "csrf_token" => session["csrf_token"] }.to_json
|
||||
@@ -119,11 +117,10 @@ post "/login" do
|
||||
return { "message" => "Bad request made!", "csrf_token" => session["csrf_token"] }.to_json
|
||||
end
|
||||
login_status = session.login(data["username"], data["pass"])
|
||||
status login_status[0]
|
||||
if login_status[0] == 200
|
||||
status 200
|
||||
return { "message" => login_status[1], "success" => "true", "csrf_token" => session["csrf_token"] }.to_json
|
||||
else
|
||||
status login_status[0]
|
||||
return { "message" => login_status[1], "csrf_token" => session["csrf_token"] }.to_json
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user