Skip to content

nbspou/formler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

formler

Join the chat at https://gitter.im/Daegalus/formler

Simple form data parser.

Features:

Getting Started

Pubspec

pub.dartlang.org: (you can use 'any' instead of a version if you just want the latest always)

dependencies:
  formler: 0.1.2
import 'package:formler/formler.dart';

Start parsing ...

// Parse a Multipart form
Formler formler = new Formler(bytes, "--someBoundaryStuff");
Map form = formler.parse(); // -> {fieldName: .... }

// Parse a UrlEncoded form
Formler.parseUrlEncoded("username=someValue+other%26val&password=eqwdawd9"); // -> { "username": "someValue other&val", "password": "eqwdawd9" }

API

new Formler(List bytes, String boundary)

Creates a new Formler instance with the byte contents of the request and the boundary from the contentType.

  • bytes - (List) A list of bytes respresnting the POST form data.

Returns the new instance of Formler.

formler.parse()

Actually does the parsing of the data and creates the data map of the contents.

Returns Map representation of the parsed data.

(static) Formler.parseUrlEncoded(String postBody, [bool printErrors = true])

Parses a UrlEncoded post body string.

  • postBody - (String) A string of key/urlencoded value pairs.
  • printErrors - (Bool) Set to false if you don't want Formler to print warnings to STDOUT. Default is true.

Returns Map representation of the parsed Data

Example: Encode a hex string.

Testing

In dartvm

dart test\formler_test.dart

In Browser

At the moment, this package does not work client-side as it uses server-side only UInt8Lists. I might have to wait till UInt8Arrays and UInt8Lists are merged into 1

Release notes

v0.1.2

  • Pull Request accepted to fix package versions for increased compatibility.

v0.1.1

  • Fix empty string and handle malformed urlencoded strings gracefully.

v0.1.0

  • Dart 1.0 Readiness

v0.0.8

  • Fixing analyzer complaints.

v0.0.7

  • Fixing package changes for Crypto and URI

v0.0.6

  • Including fixes for TypedData and Regex and also switched to useing the Base64 Decode built into Crypto now.

v0.0.5

  • Accepted pull request to add multi-file support. Must have overlooked this in my excitement to get this parser working.

v0.0.4

  • Fixing an import/part issue that affected Fukiya.

v0.0.3

  • Binary file upload parsing bug fixed.

v0.0.2

  • Parsing Bugs.

v0.0.1

  • Initial Release

Releases

No releases published

Packages

No packages published

Languages

  • Dart 100.0%