Added retrying
This commit is contained in:
@@ -1,15 +1,32 @@
|
||||
require 'json'
|
||||
require 'sinatra/base'
|
||||
require 'sinatra/custom_logger'
|
||||
require_relative '../http/query'
|
||||
require_relative '../exceptions'
|
||||
|
||||
module Pruning
|
||||
module API
|
||||
class App < Sinatra::Base
|
||||
before { content_type :json }
|
||||
after { serialise_response }
|
||||
set :show_exceptions, true
|
||||
|
||||
|
||||
error Pruning::Exceptions::UnexpectedError do
|
||||
status 500
|
||||
end
|
||||
|
||||
error Pruning::Exceptions::OriginCannotFindTheResource do
|
||||
status 404
|
||||
end
|
||||
|
||||
|
||||
get '/' do
|
||||
"Try /tree/:name"
|
||||
end
|
||||
|
||||
|
||||
private
|
||||
|
||||
def serialise_response
|
||||
return unless content_type == 'application/json'
|
||||
response.body = [JSON(response.body)]
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
require 'rest-client'
|
||||
require 'retries'
|
||||
require_relative 'app'
|
||||
require_relative '../repos/tree'
|
||||
require_relative '../pruner'
|
||||
require_relative '../exceptions'
|
||||
|
||||
module Pruning
|
||||
module API
|
||||
class Tree < App
|
||||
get '/tree/:name' do
|
||||
tree_repo = Pruning::Repos::Tree.new(RestClient, ENV['TREE_SOURCE_API_HOSTNAME'])
|
||||
complete_tree = tree_repo.get(query.name)
|
||||
pruner = Pruning::Processing::Pruner.new(complete_tree)
|
||||
pruner.prune_tree(query.indicator_ids)
|
||||
tree_repo = Pruning::Repos::Tree.new(RestClient, ENV['TREE_SOURCE_API_HOSTNAME'])
|
||||
complete_tree = tree_repo.get(query.name)
|
||||
pruner = Pruning::Processing::Pruner.new(complete_tree)
|
||||
pruner.prune_tree(query.indicator_ids)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user