Sha256: 03d39ea220b40c0095a5b33c172afe33e631bb43be84cf9269f533ee5aec7a47

Contents?: true

Size: 1.3 KB

Versions: 38

Compression:

Stored size: 1.3 KB

Contents

'use strict'

var qs = require('qs')
var 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

38 entries across 31 versions & 14 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/request/lib/querystring.js
disco_app-0.18.0 test/dummy/node_modules/request/lib/querystring.js
disco_app-0.18.2 test/dummy/node_modules/request/lib/querystring.js
tang-0.2.1 spec/tang_app/node_modules/request/lib/querystring.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/request/lib/querystring.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/request/lib/querystring.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/request/lib/querystring.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/request/lib/querystring.js
tang-0.2.0 spec/tang_app/node_modules/request/lib/querystring.js
tang-0.1.0 spec/tang_app/node_modules/request/lib/querystring.js
tang-0.0.9 spec/tang_app/node_modules/request/lib/querystring.js
enju_library-0.3.8 spec/dummy/node_modules/request/lib/querystring.js
ilog-0.4.1 node_modules/node-gyp/node_modules/request/lib/querystring.js
ilog-0.4.1 node_modules/node-sass/node_modules/request/lib/querystring.js
ilog-0.4.0 node_modules/node-gyp/node_modules/request/lib/querystring.js
ilog-0.4.0 node_modules/node-sass/node_modules/request/lib/querystring.js
ilog-0.3.3 node_modules/node-sass/node_modules/request/lib/querystring.js
ilog-0.3.3 node_modules/node-gyp/node_modules/request/lib/querystring.js
learn_create-0.0.22 lib/templates/javascript_lab_template/node_modules/request/lib/querystring.js
jester-data-8.0.0 node_modules/request/lib/querystring.js