src/prologue/core/contenttype

Search:
Group by:
Source   Edit  

Types

MediaType = object
  mainType*: string
  subType*: string
  parameters*: Table[string, string]
Source   Edit  

Procs

proc `$`(mediaType: MediaType): string {....raises: [], tags: [], forbids: [].}
Convert MediaType to string representation Source   Edit  
proc parseContentType(headerValue: string): MediaType {....raises: [ValueError],
    tags: [], forbids: [].}
Parses a Content-Type header according to RFC 7230, RFC 2045, and RFC 2046. Returns a MediaType object containing the main type, sub type, and parameters.

Example:

import std/tables
let mediaType = parseContentType("text/plain; charset=\"utf-8\"")
doAssert mediaType.mainType == "text"
doAssert mediaType.subType == "plain"
doAssert mediaType.parameters.len == 1
doAssert mediaType.parameters["charset"] == "utf-8"
Source   Edit