Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Wazproxy is an HTTP proxy written in Node.js that automatically signs requests to Windows Azure blob storage for a given account.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 package.json
Octocat-spinner-32 wazproxy.js
README.md

Wazproxy is an HTTP proxy written in Node.js that automatically signs requests to Windows Azure blob storage for a given account. This is useful for developers who want to try out the Windows Azure REST API without having to deal with authentication. By running wazproxy and proxying web requests through it, you can use simple tools like curl or even a web browser to interact with Windows Azure storage.

Wazproxy is also useful for adapting existing apps to work with Windows Azure storage. For example, if you have an application that can consume a generic OData feed but doesn't support Windows Azure storage authentication, you can start wazproxy, change your proxy settings, and use the application as-is.

Installation

npm install wazproxy -g

Usage

Usage: wazproxy.js [options]

  Options:

    -h, --help               output usage information
    -V, --version            output the version number
    -a, --account [account]  storage account name
    -k, --key [key]          storage account key
    -p, --port [port]        port (defaults to 8080)

Examples

The following will list all the tables in the given account:

wazproxy -a <account> -k <key>
set http_proxy=127.0.0.1:8080
curl <account>.table.core.windows.net/tables

On Linux or OS X, use export instead of set.

The following will create a container (private, by default), upload a text blob into it, retrieve the blob, and finally delete the container.

curl <account>.blob.core.windows.net/testcontainer?restype=container -X PUT -d ""
curl <account>.blob.core.windows.net/testcontainer/testblob -X PUT -d "hello world" -H "content-type:text/plain" -H "x-ms-blob-type:BlockBlob"
curl <account>.blob.core.windows.net/testcontainer/testblob
# output: "hello world"
curl <account>.blob.core.windows.net/testcontainer?restype=container -X DELETE

The following will peek at a queue message:

curl <account>.queue.core.windows.net/myqueue/messages?peekonly=true

For the full details of the Windows Azure storage API, see the "Windows Azure Storage Services REST API Reference" on MSDN.

Notes

Wazproxy only proxies HTTP requests (not HTTPS). Any request that's not addressed to <account>.(blob|table|queue).core.windows.net is simply passed through unmodified, so you can proxy all traffic through wazproxy (including, for example, traffic from other browser tabs).

Wazproxy does not support the storage emulator, but pull requests are welcome.

Something went wrong with that request. Please try again.