src/happyx/ssr/form_data

Form Data 👨‍🔬

Provides working with XML, form-data and x-www-form-urlencoded.

This module used by request models so you can use it at high-level

model MyModel:
  img: FormDataItem
  context: string

serve "127.0.0.1", 5000:
  post "/upload/[data:MyModel:formData]":
    # Working with form-data
    echo data.img.filename
    return {"response": {
      "filename": data.img.filename,
      "content-type": data.img.contentType
    }}

Types

FormDataItem = object
  data*, filename*, contentType*, name*: string

Procs

proc parseFormData(formData: string): (StringTableRef,
                                       TableRef[string, FormDataItem]) {.
    ...raises: [ValueError], tags: [RootEffect], forbids: [].}
Parses form-data into StringTableRef
proc parseXmlBody(data: string): JsonNode {.
    ...raises: [IOError, OSError, ValueError, Exception, XmlError, KeyError],
    tags: [ReadIOEffect, RootEffect, WriteIOEffect], forbids: [].}
proc parseXWwwFormUrlencoded(data: string): StringTableRef {....raises: [],
    tags: [], forbids: [].}
Parses x-www-form-urlencoded into StringTableRef.