Spec-Zone.ru › Nim

std/jsheaders

Источник Изменить
  • HTTP-заголовки для JavaScript: https://developer.mozilla.org/en-US/docs/Web/API/Headers

Пример: cmd: -r:off

import std/jsheaders

block:
  let header: Headers = newHeaders()
  header.add("key", "value")
  assert header.hasKey("key")
  assert header.keys() == @["key".cstring]
  assert header.values() == @["value".cstring]
  assert header["key"] == "value".cstring
  header["other"] = "another".cstring
  assert header["other"] == "another".cstring
  assert header.entries() == @[("key".cstring, "value".cstring), ("other".cstring, "another".cstring)]
  assert header.toCstring() == """[["key","value"],["other","another"]]""".cstring
  header.delete("other")
  assert header.entries() == @[("key".cstring, "value".cstring)]
  header.clear()
  assert header.entries() == @[]
  assert header.len == 0

block:
  let header: Headers = newHeaders()
  header.add("key", "a")
  header.add("key", "b")  ## Duplicated.
  header.add("key", "c")  ## Duplicated.
  assert header["key"] == "a, b, c".cstring
  header["key"] = "value".cstring
  assert header["key"] == "value".cstring

block:
  let header: Headers = newHeaders()
  header["key"] = "a"
  header["key"] = "b"  ## Overwrites.
  assert header["key"] == "b".cstring

Типы

Headers = ref object of JsRoot
API заголовков HTTP. Источник Изменить

Процедуры

func `$`(self: Headers): string {....raises: [], tags: [], forbids: [].}
Источник Изменить
func `[]`(self: Headers; key: cstring): cstring {.importjs: "#.get(#)",
    ...raises: [], tags: [], forbids: [].}
Получить все элементы с key из заголовков, включая дублирующиеся значения. https://developer.mozilla.org/en-US/docs/Web/API/Headers/get Источник Изменить
func `[]=`(self: Headers; key: cstring; value: cstring) {.
    importjs: "#.set(#, #)", ...raises: [], tags: [], forbids: [].}
Не допускается дублирование ключей, дублирующиеся ключи перезаписываются. https://developer.mozilla.org/en-US/docs/Web/API/Headers/set Источник Изменить
func add(self: Headers; key: cstring; value: cstring) {.
    importjs: "#.append(#, #)", ...raises: [], tags: [], forbids: [].}
Разрешает дублирование ключей. https://developer.mozilla.org/en-US/docs/Web/API/Headers/append Источник Изменить
func clear(self: Headers) {.importjs: "(() => { const header = #; Array.from(header.keys()).forEach((key) => header.delete(key)) })()",
                            ...raises: [], tags: [], forbids: [].}
Удобная функция для удаления всех элементов из Headers. Источник Изменить
func delete(self: Headers; key: cstring) {.importjs: "#.$1(#)", ...raises: [],
    tags: [], forbids: [].}
https://developer.mozilla.org/en-US/docs/Web/API/Headers/delete
Предупреждение: Удалить все элементы с key из заголовков, включая дублирующиеся ключи.
Источник Изменить
func entries(self: Headers): seq[tuple[key, value: cstring]] {.
    importjs: "Array.from(#.$1())", ...raises: [], tags: [], forbids: [].}
https://developer.mozilla.org/en-US/docs/Web/API/Headers/entries Источник Изменить
func hasKey(self: Headers; key: cstring): bool {.importjs: "#.has(#)",
    ...raises: [], tags: [], forbids: [].}
https://developer.mozilla.org/en-US/docs/Web/API/Headers/has Источник Изменить
func keys(self: Headers): seq[cstring] {.importjs: "Array.from(#.$1())",
    ...raises: [], tags: [], forbids: [].}
https://developer.mozilla.org/en-US/docs/Web/API/Headers/keys Источник Изменить
func len(self: Headers): int {.importjs: "Array.from(#.entries()).length",
                               ...raises: [], tags: [], forbids: [].}
Источник Изменить
func newHeaders(): Headers {.importjs: "new Headers()", ...raises: [], tags: [],
                             forbids: [].}
https://developer.mozilla.org/en-US/docs/Web/API/Headers Источник Изменить
func toCstring(self: Headers): cstring {.
    importjs: "JSON.stringify(Array.from(#.entries()))", ...raises: [], tags: [],
    forbids: [].}
Возвращает строковое представление cstring объекта Headers. Источник Изменить
func values(self: Headers): seq[cstring] {.importjs: "Array.from(#.$1())",
    ...raises: [], tags: [], forbids: [].}
https://developer.mozilla.org/en-US/docs/Web/API/Headers/values Источник Изменить

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/jsheaders.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API