Class: Dratools::DdbjResourceClient

Inherits:
Object
  • Object
show all
Defined in:
lib/dratools/ddbj_resource_client.rb

Overview

DDBJ resource API を呼び出す薄い HTTP クライアント。

Constant Summary collapse

DDBJ_RESOURCE_BASE_URL =
'https://ddbj.nig.ac.jp/resource'
RESOURCE_RECORD_EXTENSION =
'.json'
HTTPS_SCHEME =
'https'
HTTP_LOCATION_HEADER =
'location'
USER_AGENT_HEADER =
'User-Agent'
DEFAULT_REDIRECT_LIMIT =
5
DEFAULT_OPEN_TIMEOUT_SECONDS =
10
DEFAULT_READ_TIMEOUT_SECONDS =
30

Instance Method Summary collapse

Constructor Details

#initialize(base_url: DDBJ_RESOURCE_BASE_URL, open_timeout: DEFAULT_OPEN_TIMEOUT_SECONDS, read_timeout: DEFAULT_READ_TIMEOUT_SECONDS) ⇒ DdbjResourceClient

Returns a new instance of DdbjResourceClient.



23
24
25
26
27
28
# File 'lib/dratools/ddbj_resource_client.rb', line 23

def initialize(base_url: DDBJ_RESOURCE_BASE_URL, open_timeout: DEFAULT_OPEN_TIMEOUT_SECONDS,
               read_timeout: DEFAULT_READ_TIMEOUT_SECONDS)
  @base_url = base_url.delete_suffix('/')
  @open_timeout = open_timeout
  @read_timeout = read_timeout
end

Instance Method Details

#fetch_resource_record(type, accession) ⇒ Object



30
31
32
# File 'lib/dratools/ddbj_resource_client.rb', line 30

def fetch_resource_record(type, accession)
  fetch_json("#{@base_url}/#{type}/#{accession}#{RESOURCE_RECORD_EXTENSION}")
end