New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

http-build-query

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

http-build-query

Generate URL-encoded query string from the object (php's http_build_query() in JavaScript)

latest
Source
npmnpm
Version
0.8.1
Version published
Maintainers
1
Created
Source

httpBuildQuery()

NPM Version NPM Download License Node.js Version Build Status

Generate URL-encoded query string from the object (PHP's http_build_query() in JavaScript). Compatible with Node.js ≥6 and modern browsers.

Features

  • PHP Compatibility: Implements PHP's http_build_query() function behavior in JavaScript
  • Nested Structures: Handles nested objects and arrays with proper bracket notation
  • Type Handling: Correctly converts booleans (true"1", false"0"), numbers, strings, null, and undefined
  • Customizable: Supports numeric prefix, custom argument separator, and nested key formatting
  • Browser & Node.js: Works in both browser and Node.js environments
  • Zero Dependencies: Lightweight with no external dependencies

Installation

npm install http-build-query

Or using yarn:

yarn add http-build-query

For browser usage, include via CDN:

<script src="https://unpkg.com/http-build-query"></script>

API

httpBuildQuery(queryData, numericPrefix, argSeparator, tempKey)

Parameters

  • queryData (Object): The data to convert to query string
  • numericPrefix (String|null): Prefix for numeric keys (default: null)
  • argSeparator (String): Separator between arguments (default: "&")
  • tempKey (String|null): Temporary key for nested objects (used internally for recursion)

Returns

  • (String): URL-encoded query string

Usage Examples

Basic Usage

var httpBuildQuery = require("http-build-query");

var data = {
  name: "John Doe",
  age: 30,
  active: true,
};

var query = httpBuildQuery(data);
// Result: "name=John+Doe&age=30&active=1"

Numeric Prefix

var data = {
  0: "value1",
  1: "value2",
  key: "value3",
};

var query = httpBuildQuery(data, "prefix_");
// Result: "prefix_0=value1&prefix_1=value2&key=value3"

Custom Argument Separator

var data = { a: 1, b: 2, c: 3 };

var query = httpBuildQuery(data, null, ";");
// Result: "a=1;b=2;c=3"

var query2 = httpBuildQuery(data, null, "&");
// Result: "a=1&b=2&c=3"

Complex Example (PHP Documentation Example)

var data = {
  user: {
    name: "Bob Smith",
    age: 47,
    sex: "M",
    dob: "5/12/1956",
  },
  pastimes: ["golf", "opera", "poker", "rap"],
  children: {
    bobby: { age: 12, sex: "M" },
    sally: { age: 8, sex: "F" },
  },
  "+0": "CEO",
};

var query = httpBuildQuery(data, "flags_");
// Result matches PHP's http_build_query() output

Browser Usage

Direct Include

<script src="https://unpkg.com/http-build-query"></script>
<script>
  var data = { q: "search term", page: 1 };
  var query = httpBuildQuery(data);
  console.log(query); // "q=search+term&page=1"
</script>

Migration from Older Versions

Version 0.8.0 maintains full backward compatibility with previous versions. The only changes are internal improvements:

  • Added "use strict" directive
  • Improved code readability and documentation
  • Updated dependencies
  • Same API and behavior

License

MIT © Vlad Zadvorny

Keywords

http

FAQs

Package last updated on 20 Jan 2026

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