Class: Taxii::PollClient
- Inherits:
-
Object
show all
- Includes:
- Client
- Defined in:
- lib/taxii/poll_client.rb
Constant Summary
collapse
- PARSE_OPTIONS =
Nokogiri::XML::ParseOptions::DEFAULT_XML | Nokogiri::XML::ParseOptions::NOBLANKS
- POLL_RESPONSE_PATH =
'/taxii_11:Poll_Response'
- CONTENT_XPATH =
"#{POLL_RESPONSE_PATH}/taxii_11:Content_Block/taxii_11:Content"
Instance Method Summary
collapse
Methods included from Client
#build_request, #collection_management_service_url, #discover_collections, #discover_feeds, #discover_services, #discovery_service_url, #get_service_address, #inbox_service_url, included, #poll_service_url, #scheme_protocol
Instance Method Details
#get(poll_request_message, url: self.poll_service_url) ⇒ Object
9
10
11
12
|
# File 'lib/taxii/poll_client.rb', line 9
def get(poll_request_message, url: self.poll_service_url)
msg = format_request(poll_request_message)
build_request(url: url, payload: msg).execute
end
|
#get_content_blocks(poll_request_message, url: self.poll_service_url, xpath: CONTENT_XPATH) ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/taxii/poll_client.rb', line 14
def get_content_blocks(poll_request_message,
url: self.poll_service_url,
xpath: CONTENT_XPATH)
response = self.get(poll_request_message, url: url)
@content_xml = Nokogiri::XML(response.body, nil, nil, PARSE_OPTIONS)
blocks = response_blocks
while attribute_more == 'true'
poll_fulfillment_message = Taxii::Messages::PollFulfillmentRequest.new(
collection_name: poll_request_message.collection_name,
result_id: result_id,
result_part_number: result_part_number + 1)
response = self.get(poll_fulfillment_message, url: url)
@content_xml = Nokogiri::XML(response.body, nil, nil, PARSE_OPTIONS)
blocks += response_blocks
end
blocks
end
|