Function assertHeaders

  • Headers decoder with type assertion (for express and fastify).

    typia.http.assertHeaders() is a function decoding an header instance, with automatic type casting to the expected type. When property type be defined as boolean or number type, typia.http.headers() will cast the value to the expected type.

    Also, after decoding, typia.http.assertHeaders() performs type assertion to the decoded value by combining with assert function. Therefore, when the decoded value is not following the T type, TypeGuardError or custom error generated by errorFactory would be thrown.

    By the way, as HTTP headers are not enough to express complex data structures, typia.http.headers() function has some limitations. If target type T is not following those restrictions, compilation errors would be occured.

    1. Type T must be an object type
    2. Do not allow dynamic property
    3. Property key must be lower case
    4. Property value cannot be null, but undefined is possible
    5. Only boolean, bigint, number, string or their array types are allowed
    6. By the way, union type never be not allowed
    7. Property set-cookie must be array type
    8. Those properties cannot be array type
    • age
    • authorization
    • content-length
    • content-type
    • etag
    • expires
    • from
    • host
    • if-modified-since
    • if-unmodified-since
    • last-modified
    • location
    • max-forwards
    • proxy-authorization
    • referer
    • retry-after
    • server
    • user-agent

    Type Parameters

    • T extends object

      Expected type of decoded value

    Parameters

    • input: Record<string, undefined | string | string[]>

      Query string or URLSearchParams instance

    • OptionalerrorFactory: ((props: TypeGuardError.IProps) => Error)

      Custom error factory. Default is TypeGuardError

    Returns Resolved<T>

    Decoded headers object

    Jeongho Nam - https://github.com/samchon