Module: Mayu::State::ActionCreator::ActionContext

Extended by:
T::Sig
Defined in:
lib/mayu/state/action_creator.rb

Constant Summary collapse

FetchResponse =
T.type_alias { String }
Header =
T.type_alias { [String, String] }

Instance Method Summary collapse

Instance Method Details

#fetch(resource, method: :GET, headers: [], body: nil, redirect: :follow, referrer: "mayu-live-fetch/#{Mayu::VERSION}", keepalive: false) ⇒ Object



141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/mayu/state/action_creator.rb', line 141

def fetch(
  resource,
  method: :GET,
  headers: [],
  body: nil,
  redirect: :follow,
  referrer: "mayu-live-fetch/#{Mayu::VERSION}",
  keepalive: false
)
  internet = Async::HTTP::Internet.new

  case method
  when :GET
    internet.get(resource, headers)
  when :POST
    internet.post(resource, headers, body)
  when :PUT
    internet.put(resource, headers, body)
  when :PATCH
    internet.patch(resource, headers, body)
  end
ensure
  internet&.close
end