@@ -21,62 +21,57 @@ module NsdValidatorHelper
2121 # Checks if a JSON message is valid
2222 #
2323 # @param [JSON] message some JSON message
24- # @return [Hash, nil] if the parsed message is a valid JSON
25- # @return [Hash, String] if the parsed message is an invalid JSON
24+ # @return [Hash] if the parsed message is a valid JSON
2625 def parse_json ( message )
2726 # Check JSON message format
2827 begin
2928 parsed_message = JSON . parse ( message ) # parse json message
3029 rescue JSON ::ParserError => e
3130 # If JSON not valid, return with errors
3231 logger . error "JSON parsing: #{ e . to_s } "
33- return message , e . to_s + "\n "
32+ halt 400 , e . to_s + "\n "
3433 end
3534
36- return parsed_message , nil
35+ parsed_message
3736 end
3837
3938 # Checks if a parsed JSON message is a valid NSD
4039 #
4140 # @param [Hash] nsd the JSON message parsed
42- # @return [Hash, nil] if the JSON message is a valid NSD
43- # @return [Hash, String] if the JSON message is an invalid NSD
41+ # @return [Hash] if the JSON message is a valid NSD
4442 def validate_json_nsd ( nsd )
4543 # Read NSD json schema
4644 json_schema = File . read ( settings . json_schema )
4745 begin
4846 JSON ::Validator . validate! ( json_schema , nsd )
4947 rescue JSON ::Schema ::ValidationError
5048 logger . error "JSON validation: #{ $!. message } "
51- return nsd , $!. message + "\n "
49+ halt 400 , $!. message + "\n "
5250 end
5351
54- return nsd , nil
55- #errors = JSON::Validator.fully_validate(json_schema, nsd)
52+ nsd
5653 end
5754
5855 # Checks if a XML message is valid
5956 #
6057 # @param [XML] message some XML message
61- # @return [Hash, nil] if the parsed message is a valid XML
62- # @return [Hash, String] if the parsed message is an invalid XML
58+ # @return [Hash] if the parsed message is a valid XML
6359 def parse_xml ( message )
6460 # Check XML message format
6561 begin
6662 parsed_message = Nokogiri ::XML ( message ) { |config | config . strict }
6763 rescue Nokogiri ::XML ::SyntaxError => e
6864 logger . error "XML parsing: #{ e } "
69- return message , e
65+ halt 400 , e
7066 end
7167
72- return parsed_message , nil
68+ parsed_message
7369 end
7470
7571 # Checks if a parsed XML message is a valid NSD
7672 #
7773 # @param [Hash] nsd the XML message parsed
78- # @return [Hash, nil] if the XML message is a valid NSD
79- # @return [Hash, String] if the XML message is an invalid NSD
74+ # @return [Hash] if the XML message is a valid NSD
8075 def validate_xml_nsd ( nsd )
8176 # Read NSD xsd schema
8277 begin
@@ -87,7 +82,7 @@ def validate_xml_nsd(nsd)
8782 logger . error "XSD parsing: #{ error . message } "
8883 errors . push ( error . message )
8984 end
90- return nsd , errors
85+ halt 400 , errors
9186 end
9287
9388 # Validate received XML message against NSD schema
@@ -96,10 +91,8 @@ def validate_xml_nsd(nsd)
9691 logger . error "XSD validation: #{ e } "
9792 errors . push ( error . message )
9893 end
99- if errors . empty?
100- return nsd , nil
101- else
102- return nsd , errors
103- end
94+ halt 400 , errors unless errors . empty?
95+
96+ nsd
10497 end
10598end
0 commit comments