3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/georeferencer/middleware/parser.rb', line 3
def on_complete(env)
json = Oj.load(env[:body], symbolize_keys: true)
if json.has_key?("@list")
start = nil
if json["next"].present?
query = URI.parse(json["next"]).query
start = query.scan(/start=([^$]+)/).flatten.first
end
body = {
data: json["@list"]
}
body.merge!({metadata: {start: start}})
env[:body] = body
else
if env.url.path =~ /progress/
json.merge!({id: Faraday::Utils.parse_query(env.url.query)["collection"]})
end
env[:body] = {
data: json.with_indifferent_access
}
end
end
|