Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

maltypart

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

maltypart

Maltypart is a simple multipart request builder.

  • 1.5.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Maltypart NPM Version Bower Version

Join the chat at https://gitter.im/synacorinc/maltypart

Maltypart

Maltypart is a simple multipart request builder.

It is very similar to HTML5 FormData, but offers a bit more control over fields and serialization.

View Demo

Build Status Dependency Status devDependency Status

Deploy


Why Maltypart?

Maltypart is a good fit if your app needs to work with multipart form submissions, but you don't want to couple networking logic to your HTML. It supports a few nice additions that FormData doesn't offer, and can serialize Strings, Files, Elements and more.


Usage

Creating a new RequestBody:

// Pull in the dependency however you wish: AMD, CJS, Node and globals are all supported
var RequestBody = require('maltypart').RequestBody;

// Create a new multipart body:
var request = new RequestBody();

Appending Strings:

// request is from the first example

request.append({
	// String values get serialized with the default content-type, application/octet-stream:
	some_key : "some value",

	// Passing an Object or Array to append() lets you specify multiple fields at once
	second_key : "second value"
});

Appending Typed Content:

request.append('example_image', {
	// Specify an Object with "contentType" and "data" properties to set your own content-type:
	contentType : "image/png",

	// Base64-encoded data as a String:
	data : "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD"
			+ "///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDe"
			+ "NGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC"

	// You can also pass a maltypart.RequestField instead of a POJO.
});

Appending a File:

request.append('some_file', new File(), function() {
	// file added.
});

Using with XMLHttpRequest:

// A standard XHR
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);

// Set the request's content-type appropriately:
xhr.setRequestHeader('Content-Type', request.getContentType());

// Set the multipart-encoded body:
xhr.send( request.getData() );

Instantiation

Via node / browserify:

var maltypart = require('maltypart');

Via AMD / requirejs:

define(['maltypart'], function(maltypart) {

});

Via globals / script tag:

<script src="maltypart.js"></script>
<script>
	maltypart;  // now it's exposed as a "maltypart" global
</script>

Installation

Installation via Bower: (Recommended)

bower install maltypart

Manual Download:

  • maltypart.js - full source with comments, for development
  • maltypart.min.js - minified without comments, for production

License

BSD

Malt-ey Party

Keywords

FAQs

Package last updated on 03 Dec 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc