Sha256: a163a893298bca63622ba1077e43322106f3757c2bcf62ae1bd2713f4f025280

Contents?: true

Size: 1.3 KB

Versions: 48

Compression:

Stored size: 1.3 KB

Contents

'use strict'

var qs = require('qs')
  , querystring = require('querystring')


function Querystring (request) {
  this.request = request
  this.lib = null
  this.useQuerystring = null
  this.parseOptions = null
  this.stringifyOptions = null
}

Querystring.prototype.init = function (options) {
  if (this.lib) {return}

  this.useQuerystring = options.useQuerystring
  this.lib = (this.useQuerystring ? querystring : qs)

  this.parseOptions = options.qsParseOptions || {}
  this.stringifyOptions = options.qsStringifyOptions || {}
}

Querystring.prototype.stringify = function (obj) {
  return (this.useQuerystring)
    ? this.rfc3986(this.lib.stringify(obj,
      this.stringifyOptions.sep || null,
      this.stringifyOptions.eq || null,
      this.stringifyOptions))
    : this.lib.stringify(obj, this.stringifyOptions)
}

Querystring.prototype.parse = function (str) {
  return (this.useQuerystring)
    ? this.lib.parse(str,
      this.parseOptions.sep || null,
      this.parseOptions.eq || null,
      this.parseOptions)
    : this.lib.parse(str, this.parseOptions)
}

Querystring.prototype.rfc3986 = function (str) {
  return str.replace(/[!'()*]/g, function (c) {
    return '%' + c.charCodeAt(0).toString(16).toUpperCase()
  })
}

Querystring.prototype.unescape = querystring.unescape

exports.Querystring = Querystring

Version data entries

48 entries across 39 versions & 12 rubygems

Version Path
ilog-0.4.1 node_modules/request/lib/querystring.js
ilog-0.4.0 node_modules/request/lib/querystring.js
ilog-0.3.3 node_modules/request/lib/querystring.js
optimacms-0.4.3 spec/dummy/node_modules/node-gyp/node_modules/request/lib/querystring.js
optimacms-0.4.3 spec/dummy/node_modules/request/lib/querystring.js
optimacms-0.4.2 spec/dummy/node_modules/request/lib/querystring.js
optimacms-0.4.2 spec/dummy/node_modules/node-gyp/node_modules/request/lib/querystring.js
locomotivecms-3.4.0 app/javascript/node_modules/node-gyp/node_modules/request/lib/querystring.js
locomotivecms-3.4.0 app/javascript/node_modules/node-sass/node_modules/request/lib/querystring.js
affiliator-0.2.1 node_modules/fsevents/node_modules/request/lib/querystring.js
lanes-0.8.0 node_modules/fsevents/node_modules/request/lib/querystring.js
lanes-0.8.0 node_modules/request/lib/querystring.js
node-compiler-0.9.1 vendor/node/deps/npm/node_modules/request/lib/querystring.js
node-compiler-0.9.0 vendor/node-v7.2.1/deps/npm/node_modules/request/lib/querystring.js
select_all-rails-0.3.1 node_modules/jsdom/node_modules/request/lib/querystring.js
node-compiler-0.8.0 vendor/node-v7.2.0/deps/npm/node_modules/request/lib/querystring.js
node-compiler-0.7.0 vendor/node-v6.9.1/deps/npm/node_modules/request/lib/querystring.js
node-compiler-0.7.0 vendor/node-v7.1.0/deps/npm/node_modules/request/lib/querystring.js
tck-lambdas-0.3.10 lib/tck/lambdas/chistacojs/source/node_modules/request/lib/querystring.js
tck-lambdas-0.3.9 lib/tck/lambdas/chistacojs/source/node_modules/request/lib/querystring.js