Class: AsciidoctorExtensions::KrokiHttpClient
- Inherits:
-
Object
- Object
- AsciidoctorExtensions::KrokiHttpClient
- Defined in:
- lib/asciidoctor/extensions/asciidoctor_kroki/extension.rb
Overview
Kroki HTTP client
Constant Summary collapse
- REFERER =
"asciidoctor/kroki.rb/#{Asciidoctor::AsciidoctorKroki::VERSION}"
Class Method Summary collapse
- .get(uri, opts, _encoding, expected_content_type = nil) ⇒ Object
- .post(uri, data, opts, _encoding, expected_content_type = nil) ⇒ Object
Class Method Details
.get(uri, opts, _encoding, expected_content_type = nil) ⇒ Object
607 608 609 610 611 612 613 614 615 616 617 618 619 620 |
# File 'lib/asciidoctor/extensions/asciidoctor_kroki/extension.rb', line 607 def get(uri, opts, _encoding, expected_content_type = nil) parsed_uri = URI(uri) headers = opts.transform_keys { |key| "Kroki-Diagram-Options-#{key}" } .merge({ 'referer' => REFERER }) request = ::Net::HTTP::Get.new(parsed_uri, headers) response = ::Net::HTTP.start( parsed_uri.hostname, parsed_uri.port, use_ssl: (parsed_uri.scheme == 'https') ) do |http| http.request(request) end handle_response(response, 'GET', uri, expected_content_type) end |
.post(uri, data, opts, _encoding, expected_content_type = nil) ⇒ Object
622 623 624 625 626 627 628 629 630 631 632 633 634 |
# File 'lib/asciidoctor/extensions/asciidoctor_kroki/extension.rb', line 622 def post(uri, data, opts, _encoding, expected_content_type = nil) headers = opts.transform_keys { |key| "Kroki-Diagram-Options-#{key}" } .merge({ 'Content-Type' => 'text/plain', 'referer' => REFERER }) response = ::Net::HTTP.post( URI(uri), data, headers ) handle_response(response, 'POST', uri, expected_content_type) end |