Ogólne#

Headers#

W tym miejscu umieszczam powtarzające się specyficzne pojęcia i algorytmy w interfejsie Headers.

Pojęcia#

header list

Obiekt implementujący interfejs Headers jest skojarzony z listą nagłówków # (header list) [jakaś lista nagłówków], która początkowo jest pusta.

guard

Obiekt implementujący interfejs Headers jest skojarzony ze strażnikiem # (guard), którym jest jeden z immutable, request, request-no-CORS, response lub none (początkowo jest nim none).

Wariant immutable istnieje dla wątków serwisu.

Algorytmy#

fill

Aby wypełnić # (fill) obiekt implementujący interfejs Headers headers z użyciem obiektu object należy wykonać następujące kroki:

  1. Jeśli object jest obiektem typu Headers, to skopiuj jego listę nagłówków do headerListCopy, a następnie dla każdego nagłówka header w headerListCopy, z zachowaniem kolejności, dodaj parę nazwa z header/wartość z header do headers. Zrzuć ponownie każdy wyjątek.
  2. W przeciwnym razie, jeśli object jest sekwencją, to dla każdego nagłówka header w object wykonaj poniższe podkroki:

    1. Jeśli header nie zawiera dokładnie dwóch elementów, to zrzuć błąd JavaScript TypeError.
    2. Dodaj parę pierwszy element z header/drugi element z header do headers. Zrzuć ponownie każdy wyjątek.
  3. W przeciwnym razie, jeśli object jest nieograniczonym słownikiem, to dla każdego nagłówka header w object wykonaj poniższe podkroki:

    1. Ustaw klucz w header na wynik konwersji do ByteString z przekazaniem klucza w header. Zrzuć ponownie każdy wyjątek.
    2. Dodaj parę klucz z header/wartość z header do headers. Zrzuć ponownie każdy wyjątek.

append

Aby dodać # (append) parę nazwa/wartość name/value do obiektu implementującego interfejs Headers headers należy wykonać następujące kroki:

  1. Jeśli name nie jest nazwą lub value nie jest wartością, to zrzuć błąd JavaScript TypeError.
  2. Jeśli strażnikiem jest immutable, to zrzuć błąd JavaScript TypeError.
  3. W przeciwnym razie, jeśli strażnikiem jest request i name jest zabronioną nazwą nagłówka, to powróć (return).
  4. W przeciwnym razie, jeśli strażnikiem jest request-no-CORS i para name/value nie jest nagłówkiem prostym, to powróć (return).
  5. W przeciwnym razie, jeśli strażnikiem jest response i name jest zabronioną nazwą nagłówka odpowiedzi, to powróć (return).
  6. Dodaj parę name/value do listy nagłówków skojarzonej z headers.
Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Ogólne (H1) Headers (H2) Pojęcia (H3) header list (H4) guard (H4) Algorytmy (H3) fill (H4) append (H4)