mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-02-23 23:35:00 +08:00
Merge pull request #3532 from okriuchykhin/ok_SCI_6010
Fix BMT base URL path in requests [SCI-6010]
This commit is contained in:
commit
a93ca08db3
2 changed files with 15 additions and 11 deletions
|
@ -59,7 +59,7 @@ class BioEddieAssetsController < ApplicationController
|
|||
return render_404 unless Rails.application.config.x.biomolecule_toolkit_base_url
|
||||
|
||||
uri = URI.parse(Rails.application.config.x.biomolecule_toolkit_base_url)
|
||||
uri.path = request.original_fullpath.remove('/biomolecule_toolkit')
|
||||
uri.path = File.join(uri.path, request.original_fullpath.remove('/biomolecule_toolkit'))
|
||||
|
||||
Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
|
||||
api_request = "Net::HTTP::#{request.request_method.capitalize}".constantize.new(uri)
|
||||
|
|
|
@ -7,50 +7,54 @@ class BiomoleculeToolkitClient
|
|||
class BiomoleculeToolkitClientException < StandardError; end
|
||||
|
||||
def initialize
|
||||
uri = URI.parse(Rails.application.config.x.biomolecule_toolkit_base_url)
|
||||
@http = Net::HTTP.new(uri.host, uri.port)
|
||||
@http.use_ssl = (uri.scheme == 'https')
|
||||
@uri = URI.parse(Rails.application.config.x.biomolecule_toolkit_base_url)
|
||||
@http = Net::HTTP.new(@uri.host, @uri.port)
|
||||
@http.use_ssl = (@uri.scheme == 'https')
|
||||
end
|
||||
|
||||
def healthy?
|
||||
request = Net::HTTP::Get.new('/api/health')
|
||||
request = Net::HTTP::Get.new(build_request_path('/api/health'))
|
||||
process_request(request)&.dig('status') == 'UP'
|
||||
end
|
||||
|
||||
def list_attributes
|
||||
request = Net::HTTP::Get.new(MACROMOLECULES_ATTRIBUTES_PATH)
|
||||
request = Net::HTTP::Get.new(build_request_path(MACROMOLECULES_ATTRIBUTES_PATH))
|
||||
process_request(request)
|
||||
end
|
||||
|
||||
def list
|
||||
request = Net::HTTP::Get.new(MACROMOLECULES_PATH)
|
||||
request = Net::HTTP::Get.new(build_request_path(MACROMOLECULES_PATH))
|
||||
process_request(request)
|
||||
end
|
||||
|
||||
def create(params:)
|
||||
request = Net::HTTP::Post.new(MACROMOLECULES_PATH)
|
||||
request = Net::HTTP::Post.new(build_request_path(MACROMOLECULES_PATH))
|
||||
request.body = params
|
||||
process_request(request)
|
||||
end
|
||||
|
||||
def get(cid:)
|
||||
request = Net::HTTP::Get.new("#{MACROMOLECULES_PATH}/#{CGI.escape(cid)}")
|
||||
request = Net::HTTP::Get.new(build_request_path("#{MACROMOLECULES_PATH}/#{CGI.escape(cid)}"))
|
||||
process_request(request)
|
||||
end
|
||||
|
||||
def update(cid:, params:)
|
||||
request = Net::HTTP::Put.new("#{MACROMOLECULES_PATH}/#{CGI.escape(cid)}")
|
||||
request = Net::HTTP::Put.new(build_request_path("#{MACROMOLECULES_PATH}/#{CGI.escape(cid)}"))
|
||||
request.body = params
|
||||
process_request(request)
|
||||
end
|
||||
|
||||
def delete
|
||||
request = Net::HTTP::Delete.new("#{MACROMOLECULES_PATH}/#{CGI.escape(cid)}")
|
||||
request = Net::HTTP::Delete.new(build_request_path("#{MACROMOLECULES_PATH}/#{CGI.escape(cid)}"))
|
||||
process_request(request)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def build_request_path(sub_path)
|
||||
File.join(@uri.path, sub_path)
|
||||
end
|
||||
|
||||
def process_request(request)
|
||||
if Rails.application.config.x.biomolecule_toolkit_api_key
|
||||
request['x-api-key'] = Rails.application.config.x.biomolecule_toolkit_api_key
|
||||
|
|
Loading…
Reference in a new issue