mirror of
https://github.com/internetee/registry.git
synced 2025-08-03 16:32:04 +02:00
Error handling
This commit is contained in:
parent
2adbd915f7
commit
d81c97052d
7 changed files with 51 additions and 41 deletions
|
@ -33,33 +33,30 @@ module Epp::Common
|
|||
end
|
||||
|
||||
def handle_epp_errors(error_code_map, obj)
|
||||
obj.errors.each do |key, err|
|
||||
error_code_map.each do |code, values|
|
||||
has_error = Proc.new do |x|
|
||||
if x.is_a?(Array)
|
||||
obj.errors.generate_message(key, x[0], x[1]) == err
|
||||
else
|
||||
obj.errors.generate_message(key, x) == err
|
||||
end
|
||||
end
|
||||
|
||||
if err.is_a?(Hash)
|
||||
obj.errors.each do |key, msg|
|
||||
if msg.is_a?(Hash)
|
||||
epp_errors << {
|
||||
code: code,
|
||||
msg: err[:msg],
|
||||
value: {obj: err[:obj], val: err[:val]},
|
||||
} and break if values.any? {|x| obj.errors.generate_message(key, x) == err[:msg]}
|
||||
else
|
||||
epp_errors << {
|
||||
code: code,
|
||||
msg: err,
|
||||
} and break if values.any? {|x| has_error.call(x)}
|
||||
end
|
||||
|
||||
code: find_code(msg[:msg]),
|
||||
msg: msg[:msg],
|
||||
value: {obj: msg[:obj], val: msg[:val]},
|
||||
}
|
||||
else
|
||||
next unless code = find_code(msg)
|
||||
epp_errors << {
|
||||
code: code,
|
||||
msg: msg
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def find_code(msg)
|
||||
error_code_map.each do |code, values|
|
||||
return code if values.include?(msg)
|
||||
end
|
||||
nil
|
||||
end
|
||||
|
||||
def validate_request
|
||||
type = OBJECT_TYPES[params_hash['epp']['xmlns:ns2']]
|
||||
return unless type
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue