本文へ移動
Hikari リファレンス

std:http/client リファレンス

import client := "std:http/client" で取得する HTTP クライアントモジュール。get / post などのメソッド別関数と汎用の request を提供する。

delete

delete(url)
delete: { String | Effect(Future(Result({ status: Int, headers: InsertionMap(String, String), body: String, body_bytes: Bytes |})), Net) }

url を DELETE する。

効果ハンドラーの操作である。handle の操作スロットに delete と書いて横取りできる(language-spec.md §17.9)。

>>> import client := "std:http/client"
>>> client.delete("https://example.com/item/1")!

get

get(url)
get: { String | Effect(Future(Result({ status: Int, headers: InsertionMap(String, String), body: String, body_bytes: Bytes |})), Net) }

url を GET する (本文なし)。

効果ハンドラーの操作である。handle の操作スロットに get と書いて横取りできる(language-spec.md §17.9)。

>>> import client := "std:http/client"
>>> resp := client.get("https://example.com")!
>>> print resp.status!
head(url)
head: { String | Effect(Future(Result({ status: Int, headers: InsertionMap(String, String), body: String, body_bytes: Bytes |})), Net) }

url を HEAD する (本文なし応答)。

効果ハンドラーの操作である。handle の操作スロットに head と書いて横取りできる(language-spec.md §17.9)。

>>> import client := "std:http/client"
>>> resp := client.head("https://example.com")!
>>> print resp.status!

patch

patch(url, body)
patch: { String, Any | Effect(Future(Result({ status: Int, headers: InsertionMap(String, String), body: String, body_bytes: Bytes |})), Net) }

url へ body を PATCH する。

効果ハンドラーの操作である。handle の操作スロットに patch と書いて横取りできる(language-spec.md §17.9)。

>>> import client := "std:http/client"
>>> client.patch("https://example.com/item/1", "{}")!

post

post(url, body)
post: { String, Any | Effect(Future(Result({ status: Int, headers: InsertionMap(String, String), body: String, body_bytes: Bytes |})), Net) }

url へ body を POST する。

効果ハンドラーの操作である。handle の操作スロットに post と書いて横取りできる(language-spec.md §17.9)。

>>> import client := "std:http/client"
>>> client.post("https://example.com/items", "{}")!

put

put(url, body)
put: { String, Any | Effect(Future(Result({ status: Int, headers: InsertionMap(String, String), body: String, body_bytes: Bytes |})), Net) }

url へ body を PUT する。

効果ハンドラーの操作である。handle の操作スロットに put と書いて横取りできる(language-spec.md §17.9)。

>>> import client := "std:http/client"
>>> client.put("https://example.com/item/1", "{}")!

request

request(req)
request: { Any | Effect(Future(Result({ status: Int, headers: InsertionMap(String, String), body: String, body_bytes: Bytes |})), Net) }

req レコードで method/url/headers/body を指定して送る。

効果ハンドラーの操作である。handle の操作スロットに request と書いて横取りできる(language-spec.md §17.9)。

>>> import client := "std:http/client"
>>> resp := client.request({ method := "GET", url := "https://example.com" |})!
>>> print resp.status!