Sha256: 19093d9dc131e6fcc94c401e8cf966d4b85cfd77b46d803947087aab3436a40f

Contents?: true

Size: 620 Bytes

Versions: 12

Compression:

Stored size: 620 Bytes

Contents

# frozen_string_literal: true

# Released under the MIT License.
# Copyright, 2021-2024, by Samuel Williams.

require_relative "../internet"

::Thread.attr_accessor :async_http_internet_instance

module Async
	module HTTP
		class Internet
			# The global instance of the internet.
			def self.instance
				::Thread.current.async_http_internet_instance ||= self.new
			end
			
			class << self
				::Protocol::HTTP::Methods.each do |name, verb|
					define_method(verb.downcase) do |url, headers = nil, body = nil, &block|
						self.instance.call(verb, url, headers, body, &block)
					end
				end
			end
		end
	end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
async-http-0.83.1 lib/async/http/internet/instance.rb
async-http-0.83.0 lib/async/http/internet/instance.rb
async-http-0.82.3 lib/async/http/internet/instance.rb
async-http-0.82.2 lib/async/http/internet/instance.rb
async-http-0.82.1 lib/async/http/internet/instance.rb
async-http-0.82.0 lib/async/http/internet/instance.rb
async-http-0.81.0 lib/async/http/internet/instance.rb
async-http-0.80.1 lib/async/http/internet/instance.rb
async-http-0.80.0 lib/async/http/internet/instance.rb
async-http-0.79.0 lib/async/http/internet/instance.rb
async-http-0.78.0 lib/async/http/internet/instance.rb
async-http-0.77.0 lib/async/http/internet/instance.rb