Class: ProxES::Request
- Inherits:
-
Rack::Request
- Object
- Rack::Request
- ProxES::Request
show all
- Defined in:
- lib/proxes/request.rb,
lib/proxes/request/cat.rb,
lib/proxes/request/bulk.rb,
lib/proxes/request/root.rb,
lib/proxes/request/index.rb,
lib/proxes/request/stats.rb,
lib/proxes/request/create.rb,
lib/proxes/request/search.rb,
lib/proxes/request/snapshot.rb,
lib/proxes/policies/request/cat_policy.rb,
lib/proxes/policies/request/bulk_policy.rb,
lib/proxes/policies/request/root_policy.rb,
lib/proxes/policies/request/index_policy.rb,
lib/proxes/policies/request/stats_policy.rb,
lib/proxes/policies/request/create_policy.rb,
lib/proxes/policies/request/search_policy.rb,
lib/proxes/policies/request/snapshot_policy.rb
Defined Under Namespace
Classes: Bulk, BulkPolicy, Cat, CatPolicy, Create, CreatePolicy, Index, IndexPolicy, Root, RootPolicy, Search, SearchPolicy, Snapshot, SnapshotPolicy, Stats, StatsPolicy
Constant Summary
collapse
- ID_ENDPOINTS =
%w[_create _explain _mlt _percolate _source _termvector _update].freeze
- WRITE_METHODS =
%w[POST PUT DELETE].freeze
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(env) ⇒ Request
30
31
32
33
|
# File 'lib/proxes/request.rb', line 30
def initialize(env)
super
parse
end
|
Class Method Details
.from_env(env) ⇒ Object
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/proxes/request.rb', line 10
def self.from_env(env)
endpoint = path_endpoint(env['REQUEST_PATH'])
endpoint_class = endpoint.nil? ? 'index' : endpoint[1..-1]
begin
require 'proxes/request/' + endpoint_class.downcase
Request.const_get(endpoint_class.titlecase).new(env)
rescue LoadError
new(env)
end
end
|
.path_endpoint(path) ⇒ Object
21
22
23
24
25
26
27
28
|
# File 'lib/proxes/request.rb', line 21
def self.path_endpoint(path)
return '_root' if ['', nil, '/'].include? path
path_parts = path[1..-1].split('/')
return path_parts[-1] if ID_ENDPOINTS.include? path_parts[-1]
return path_parts[-2] if path_parts[-1] == 'count' && path_parts[-2] == '_percolate'
return path_parts[-2] if path_parts[-1] == 'scroll' && path_parts[-2] == '_search'
path_parts.find { |part| part[0] == '_' }
end
|
Instance Method Details
#endpoint ⇒ Object
35
36
37
|
# File 'lib/proxes/request.rb', line 35
def endpoint
path_parts[0]
end
|
#indices? ⇒ Boolean
43
44
45
|
# File 'lib/proxes/request.rb', line 43
def indices?
false
end
|
#parse ⇒ Object
39
40
41
|
# File 'lib/proxes/request.rb', line 39
def parse
path_parts
end
|