|
@@ -1,28 +1,18 @@
|
|
|
|
|
+# frozen_string_literal: true
|
|
|
|
|
+
|
|
|
require 'rest-client'
|
|
require 'rest-client'
|
|
|
|
|
|
|
|
module PKParse
|
|
module PKParse
|
|
|
class Client
|
|
class Client
|
|
|
def parse(files)
|
|
def parse(files)
|
|
|
- response = RestClient.post("#{PKParse.service_url}/parse", form_key(files) => files, multipart: true)
|
|
|
|
|
|
|
+ response = RestClient.post("#{PKParse.service_url}/parse", pkmn: files, multipart: true)
|
|
|
response = JSON.parse(response, symbolize_keys: true)
|
|
response = JSON.parse(response, symbolize_keys: true)
|
|
|
|
|
|
|
|
PKParse::Response.new(response)
|
|
PKParse::Response.new(response)
|
|
|
rescue RestClient::Exception => e
|
|
rescue RestClient::Exception => e
|
|
|
raise PKParse::ResponseError.new(e)
|
|
raise PKParse::ResponseError.new(e)
|
|
|
rescue JSON::ParserError => e
|
|
rescue JSON::ParserError => e
|
|
|
- raise PKParse::Error.new(e, "Received invalid parse response")
|
|
|
|
|
- end
|
|
|
|
|
-
|
|
|
|
|
- private
|
|
|
|
|
-
|
|
|
|
|
- def form_key(files)
|
|
|
|
|
- # RestClient will add brackets to array form values, but go-pkparse-server
|
|
|
|
|
- # expects brackets regardless of multivalue or not.
|
|
|
|
|
- if files.size > 1
|
|
|
|
|
- "pkmn"
|
|
|
|
|
- else
|
|
|
|
|
- "pkmn[]"
|
|
|
|
|
- end
|
|
|
|
|
|
|
+ raise PKParse::Error.new(e, 'Received invalid parse response')
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
end
|
|
end
|