Software / code / prosody
Comparison
plugins/mod_register_ibr.lua @ 8737:6d71845bf56f
mod_register_ibr: Return a textual error to the user for problems with parsing form data
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 09 Apr 2018 22:05:49 +0200 |
| parent | 8736:a071c203a1a0 |
| child | 9453:b6cdadb1175d |
comparison
equal
deleted
inserted
replaced
| 8736:a071c203a1a0 | 8737:6d71845bf56f |
|---|---|
| 138 end | 138 end |
| 139 | 139 |
| 140 local data, errors = parse_response(query); | 140 local data, errors = parse_response(query); |
| 141 if errors then | 141 if errors then |
| 142 log("debug", "Error parsing registration form:"); | 142 log("debug", "Error parsing registration form:"); |
| 143 local textual_errors = {}; | |
| 143 for field, err in pairs(errors) do | 144 for field, err in pairs(errors) do |
| 144 log("debug", "Field %q: %s", field, err); | 145 log("debug", "Field %q: %s", field, err); |
| 146 table.insert(textual_errors, ("%s: %s"):format(field:gsub("^%a", string.upper), err)); | |
| 145 end | 147 end |
| 146 session.send(st.error_reply(stanza, "modify", "not-acceptable")); | 148 session.send(st.error_reply(stanza, "modify", "not-acceptable", table.concat(textual_errors, "\n"))); |
| 147 return true; | 149 return true; |
| 148 end | 150 end |
| 149 | 151 |
| 150 local username, password = nodeprep(data.username), data.password; | 152 local username, password = nodeprep(data.username), data.password; |
| 151 data.username, data.password = nil, nil; | 153 data.username, data.password = nil, nil; |