npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

https_connection_binder

v1.1.0

Published

HttpConnection binder component for popular request npm package

Readme

HttpConnection

A component for calling http(s) based web services or URIs/URLs wrapped around the famous request framework for nodejs. It uses buikder pattern for configuring the component before calling the web services or URLs. It still uses the classic callback mechanism to return data asynchronosuly to the caller. Promisify is the coming next....

Exposed Classe(s)

CMPHttpConnectionProxy This is the interface exposed to the outside world.

Exposed Methods

  • url(urlString)

Sets the URL of the resource to be accessed; returns the proxy instance

  • query(queryDictionary)

Sets the Query parameters for the resource to be accessed; returns the proxy instance

  • headers(headersDictionary)

Sets the Http Header parameters for the resource to be accessed; returns the proxy instance

  • jsonBody(bodyDictionary)

Sets the JSON body for the resource to be accessed; returns the proxy instance

  • urlEncodedBody(bodyDictionary)

Sets the URL-Encoded body for the resource to be accessed; returns the proxy instance

  • byteArrayBody(byteArray)

Sets the Byte array/Buffer body for the resource to be accessed; returns the proxy instance

  • build

End step of the configuration process; returns the proxy instance

  • getAsync(responseCallback)

Performs GET HTTP(S) call

  • postAsync(responseCallback)

Performs POST HTTP(S) call

  • putAsync(responseCallback)

Performs PUT HTTP(S) call

  • patchAsync(responseCallback)

Performs PATCH HTTP(S) call

  • deleteAsync(responseCallback)

Performs DELETE HTTP(S) call

Usage

getAsync

const _express = Express();
const CMPHttpConnectionProxy = require("httpconnection");

....

_express.get('/getTest', (req, res) =>
{

    let proxy = (new CMPHttpConnectionProxy())
                                            .url("https://jsonplaceholder.typicode.com/todos/1")
                                            .build();
    proxy.getAsync((response) =>
    {

        console.log(response);
        res.send(response.responseBody);    

    });

});

postAsync

_express.post('/postTest', (req, res) =>

{

    let body = { "title" : "This is a test" };

    let proxy = (new CMPHttpConnectionProxy())
                                            .url("https://jsonplaceholder.typicode.com/posts")
                                            .jsonBody(body)
                                            .build();
    proxy.postAsync((response) =>
    {

        console.log(response);
        res.send(response.responseBody);    

    });

});