Mercurial > prosody-modules
diff mod_register_json/mod_register_json.lua @ 553:7310ceb7564f
mod_register_json: checking out if the user creation succeeded or not is good practice.
author | Marco Cirillo <maranda@lightwitch.org> |
---|---|
date | Sat, 14 Jan 2012 22:17:58 +0000 |
parents | 859bf77b9fbf |
children | b62f5e38f865 |
line wrap: on
line diff
--- a/mod_register_json/mod_register_json.lua Sun Jan 15 02:56:51 2012 +0500 +++ b/mod_register_json/mod_register_json.lua Sat Jan 14 22:17:58 2012 +0000 @@ -96,10 +96,15 @@ module:log("debug", "%s supplied an username containing invalid characters: %s", user, username) return http_response(406, "Supplied username contains invalid characters, see RFC 6122.") else - usermanager.create_user(username, req_body["password"], req_body["host"]) - hosts[req_body["host"]].events.fire_event("user-registered", { username = username, host = req_body["host"], source = "mod_register_json", session = { ip = req_body["ip"] } }) - module:log("debug", "%s registration data submission for %s@%s is successful", user, username, req_body["host"]) - return http_response(200, "Done.") + local ok, error = usermanager.create_user(username, req_body["password"], req_body["host"]) + if ok then + hosts[req_body["host"]].events.fire_event("user-registered", { username = username, host = req_body["host"], source = "mod_register_json", session = { ip = req_body["ip"] } }) + module:log("debug", "%s registration data submission for %s@%s is successful", user, username, req_body["host"]) + return http_response(200, "Done.") + else + module:log("error", "user creation failed: "..error) + return http_response(500, "Encountered server error while creating the user: "..error) + end end else module:log("debug", "%s registration data submission for %s failed (user already exists)", user, username)