aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/gears/multipartformdata.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/gears/multipartformdata.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/gears/multipartformdata.js204
1 files changed, 0 insertions, 204 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/gears/multipartformdata.js b/contexts/data/lib/closure-library/closure/goog/gears/multipartformdata.js
deleted file mode 100644
index 798b948..0000000
--- a/contexts/data/lib/closure-library/closure/goog/gears/multipartformdata.js
+++ /dev/null
@@ -1,204 +0,0 @@
-// Copyright 2009 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @fileoverview This class provides a builder for building multipart form data
- * that is to be usef with Gears BlobBuilder and GearsHttpRequest.
- *
- * @author arv@google.com (Erik Arvidsson)
- */
-
-goog.provide('goog.gears.MultipartFormData');
-
-goog.require('goog.asserts');
-goog.require('goog.gears');
-goog.require('goog.string');
-
-
-
-/**
- * Creates a new multipart form data builder.
- * @constructor
- */
-goog.gears.MultipartFormData = function() {
- /**
- * The blob builder used to build the blob.
- * @type {GearsBlobBuilder}
- * @private
- */
- this.blobBuilder_ = goog.gears.getFactory().create('beta.blobbuilder');
-
- /**
- * The boundary. This should be something that does not occurr in the values.
- * @type {string}
- * @private
- */
- this.boundary_ = '----' + goog.string.getRandomString();
-};
-
-
-/**
- * Constant for a carriage return followed by a new line.
- * @type {string}
- * @private
- */
-goog.gears.MultipartFormData.CRLF_ = '\r\n';
-
-
-/**
- * Constant containing two dashes.
- * @type {string}
- * @private
- */
-goog.gears.MultipartFormData.DASHES_ = '--';
-
-
-/**
- * Whether the builder has been closed.
- * @type {boolean}
- * @private
- */
-goog.gears.MultipartFormData.prototype.closed_;
-
-
-/**
- * Whether the builder has any content.
- * @type {boolean}
- * @private
- */
-goog.gears.MultipartFormData.prototype.hasContent_;
-
-
-/**
- * Adds a Gears file to the multipart.
- * @param {string} name The name of the value.
- * @param {GearsFile} gearsFile The Gears file as returned from openFiles etc.
- * @return {goog.gears.MultipartFormData} The form builder itself.
- */
-goog.gears.MultipartFormData.prototype.addFile = function(name, gearsFile) {
- return this.addBlob(name, gearsFile.name, gearsFile.blob);
-};
-
-
-/**
- * Adds some text to the multipart.
- * @param {string} name The name of the value.
- * @param {*} value The value. This will use toString on the value.
- * @return {goog.gears.MultipartFormData} The form builder itself.
- */
-goog.gears.MultipartFormData.prototype.addText = function(name, value) {
- this.assertNotClosed_();
-
- // Also assert that the value does not contain the boundary.
- this.assertNoBoundary_(value);
-
- this.hasContent_ = true;
- this.blobBuilder_.append(
- goog.gears.MultipartFormData.DASHES_ + this.boundary_ +
- goog.gears.MultipartFormData.CRLF_ +
- 'Content-Disposition: form-data; name="' + name + '"' +
- goog.gears.MultipartFormData.CRLF_ +
- // The BlobBuilder uses UTF-8 so ensure that we use that at all times.
- 'Content-Type: text/plain; charset=UTF-8' +
- goog.gears.MultipartFormData.CRLF_ +
- goog.gears.MultipartFormData.CRLF_ +
- value +
- goog.gears.MultipartFormData.CRLF_);
- return this;
-};
-
-
-/**
- * Adds a Gears blob as a file to the multipart.
- * @param {string} name The name of the value.
- * @param {string} fileName The name of the file.
- * @param {GearsBlob} blob The blob to add.
- * @return {goog.gears.MultipartFormData} The form builder itself.
- */
-goog.gears.MultipartFormData.prototype.addBlob = function(name, fileName,
- blob) {
- this.assertNotClosed_();
-
- this.hasContent_ = true;
- this.blobBuilder_.append(
- goog.gears.MultipartFormData.DASHES_ + this.boundary_ +
- goog.gears.MultipartFormData.CRLF_ +
- 'Content-Disposition: form-data; name="' + name + '"' +
- '; filename="' + fileName + '"' +
- goog.gears.MultipartFormData.CRLF_ +
- 'Content-Type: application/octet-stream' +
- goog.gears.MultipartFormData.CRLF_ +
- goog.gears.MultipartFormData.CRLF_);
- this.blobBuilder_.append(blob);
- this.blobBuilder_.append(goog.gears.MultipartFormData.CRLF_);
- return this;
-};
-
-
-/**
- * The content type to set on the GearsHttpRequest.
- *
- * var builder = new MultipartFormData;
- * ...
- * ghr.setRequestHeader('Content-Type', builder.getContentType());
- * ghr.send(builder.getAsBlob());
- *
- * @return {string} The content type string to be used when posting this with
- * a GearsHttpRequest.
- */
-goog.gears.MultipartFormData.prototype.getContentType = function() {
- return 'multipart/form-data; boundary=' + this.boundary_;
-};
-
-
-/**
- * @return {GearsBlob} The blob to use in the send method of the
- * GearsHttpRequest.
- */
-goog.gears.MultipartFormData.prototype.getAsBlob = function() {
- if (!this.closed_ && this.hasContent_) {
- this.blobBuilder_.append(
- goog.gears.MultipartFormData.DASHES_ +
- this.boundary_ +
- goog.gears.MultipartFormData.DASHES_ +
- goog.gears.MultipartFormData.CRLF_);
- this.closed_ = true;
- }
- return this.blobBuilder_.getAsBlob();
-};
-
-
-/**
- * Asserts that we do not try to add any more data to a closed multipart form
- * builder.
- * @throws {Error} If the multipart form data has already been closed.
- * @private
- */
-goog.gears.MultipartFormData.prototype.assertNotClosed_ = function() {
- goog.asserts.assert(!this.closed_, 'The multipart form builder has been ' +
- 'closed and no more data can be added to it');
-};
-
-
-/**
- * Asserts that the value does not contain the boundary.
- * @param {*} v The value to ensure that the string representation does not
- * contain the boundary token.
- * @throws {Error} If the value contains the boundary.
- * @private
- */
-goog.gears.MultipartFormData.prototype.assertNoBoundary_ = function(v) {
- goog.asserts.assert(String(v).indexOf(this.boundary_) == -1,
- 'The value cannot contain the boundary');
-};