module SalesforceHttpClient::SalesforceHttpAccess
Attributes
http_client[RW]
Public Instance Methods
create_http_client()
click to toggle source
# File lib/salesforce_http_client/salesforce_http_access.rb, line 12 def create_http_client @http_client = HTTPClient.new @http_client.receive_timeout = @config.http_timeout @http_client.set_cookie_store(@config.cookie_store_file_path) @http_client end
download_and_save_report(report_id, output_save_path)
click to toggle source
# File lib/salesforce_http_client/salesforce_http_access.rb, line 34 def download_and_save_report(report_id, output_save_path) @logger.info "begin download reports" response = @http_client.get report_url(report_id) if response.status == 200 save_report(response, output_save_path) else @logger.error "failed to download reports." end end
download_from_salesforce(output_save_path, report_id)
click to toggle source
# File lib/salesforce_http_client/salesforce_http_access.rb, line 5 def download_from_salesforce(output_save_path, report_id) create_http_client salesforce_login download_and_save_report(report_id, output_save_path) salesforce_logout end
respond_to_redirect(response)
click to toggle source
# File lib/salesforce_http_client/salesforce_http_access.rb, line 27 def respond_to_redirect(response) while response.status == 302 && response.headers['Location'] && !response.headers['Location'].empty? @logger.info "redirect to #{response.headers['Location']}" response = @http_client.get(response.headers['Location']) end end
salesforce_login()
click to toggle source
# File lib/salesforce_http_client/salesforce_http_access.rb, line 19 def salesforce_login @logger.info "try salesforce login..." @http_client.get config.salesforce_login_url body = { 'un' => @config.salesforce_login_id, 'pw' => @config.salesforce_password } response = @http_client.post(config.salesforce_login_url, body) respond_to_redirect(response) end
salesforce_logout()
click to toggle source
# File lib/salesforce_http_client/salesforce_http_access.rb, line 53 def salesforce_logout @logger.info "try salesforce logout..." @http_client.get config.logout_url @logger.info "salesforce logged out." end
save_report(response, output_save_path)
click to toggle source
# File lib/salesforce_http_client/salesforce_http_access.rb, line 44 def save_report(response, output_save_path) report_content = response.content report_file = output_save_path @logger.info "save result to file #{report_file}" FileUtils.mkdir_p(File.dirname(report_file)) File.write(report_file, report_content) end