comparison mod_register_json/mod_register_json.lua @ 721:9080b0898b6f

mod_register_json: modify logic to prevent an unnecessary call to usermanager.
author Marco Cirillo <maranda@lightwitch.org>
date Mon, 25 Jun 2012 21:36:40 +0000
parents b0c0acccd7c4
children c26652d055b5
comparison
equal deleted inserted replaced
720:97f6d7c4aaed 721:9080b0898b6f
94 end 94 end
95 95
96 -- We first check if the supplied username for registration is already there. 96 -- We first check if the supplied username for registration is already there.
97 -- And nodeprep the username 97 -- And nodeprep the username
98 local username = nodeprep(req_body["username"]) 98 local username = nodeprep(req_body["username"])
99 if not usermanager.user_exists(username, req_body["host"]) then 99 if not username then
100 if not username then 100 module:log("debug", "%s supplied an username containing invalid characters: %s", user, username)
101 module:log("debug", "%s supplied an username containing invalid characters: %s", user, username) 101 return http_response(event, 406, "Supplied username contains invalid characters, see RFC 6122.")
102 return http_response(event, 406, "Supplied username contains invalid characters, see RFC 6122.") 102 else
103 else 103 if not usermanager.user_exists(username, req_body["host"]) then
104 local ok, error = usermanager.create_user(username, req_body["password"], req_body["host"]) 104 local ok, error = usermanager.create_user(username, req_body["password"], req_body["host"])
105 if ok then 105 if ok then
106 hosts[req_body["host"]].events.fire_event("user-registered", { username = username, host = req_body["host"], source = "mod_register_json", session = { ip = req_body["ip"] } }) 106 hosts[req_body["host"]].events.fire_event("user-registered", { username = username, host = req_body["host"], source = "mod_register_json", session = { ip = req_body["ip"] } })
107 module:log("debug", "%s registration data submission for %s@%s is successful", user, username, req_body["host"]) 107 module:log("debug", "%s registration data submission for %s@%s is successful", user, username, req_body["host"])
108 return http_response(event, 200, "Done.") 108 return http_response(event, 200, "Done.")
109 else 109 else
110 module:log("error", "user creation failed: "..error) 110 module:log("error", "user creation failed: "..error)
111 return http_response(event, 500, "Encountered server error while creating the user: "..error) 111 return http_response(event, 500, "Encountered server error while creating the user: "..error)
112 end 112 end
113 else
114 module:log("debug", "%s registration data submission for %s failed (user already exists)", user, username)
115 return http_response(event, 409, "User already exists.")
113 end 116 end
114 else
115 module:log("debug", "%s registration data submission for %s failed (user already exists)", user, username)
116 return http_response(event, 409, "User already exists.")
117 end 117 end
118 end 118 end
119 end 119 end
120 end 120 end
121 121