mirror of https://gitee.com/bigwinds/arangodb
Support parsed url objects.
This commit is contained in:
parent
5accae0af3
commit
efc2026151
|
@ -31,6 +31,7 @@ var jsunity = require('jsunity');
|
|||
var expect = require('expect.js');
|
||||
var arangodb = require('org/arangodb');
|
||||
var request = require('org/arangodb/request');
|
||||
var url = require('url');
|
||||
var qs = require('qs');
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
|
|
@ -38,6 +38,7 @@ var mediaTyper = require('media-typer');
|
|||
var contentDisposition = require('content-disposition');
|
||||
var querystring = require('querystring');
|
||||
var qs = require('qs');
|
||||
var url = require('url');
|
||||
|
||||
function Response(res, encoding) {
|
||||
this.status = this.statusCode = res.code;
|
||||
|
@ -115,14 +116,27 @@ function request(req) {
|
|||
req = {url: req, method: 'GET'};
|
||||
}
|
||||
|
||||
var url = req.url || req.uri;
|
||||
if (!url) {
|
||||
var path = req.url || req.uri;
|
||||
if (!path) {
|
||||
throw new Error('Request URL must not be empty.');
|
||||
}
|
||||
var query = querystringify(req.qs, req.useQuerystring);
|
||||
if (query) {
|
||||
url += '?' + query;
|
||||
|
||||
var pathObj = typeof path === 'string' ? url.parse(path) : path;
|
||||
if (pathObj.auth) {
|
||||
var auth = pathObj.auth.split(':');
|
||||
req = extend({
|
||||
auth: {
|
||||
username: decodeURIComponent(auth[0]),
|
||||
password: decodeURIComponent(auth[1])
|
||||
}
|
||||
}, req);
|
||||
delete pathObj.auth;
|
||||
}
|
||||
var query = typeof req.qs === 'string' ? req.qs : querystringify(req.qs, req.useQuerystring);
|
||||
if (query) {
|
||||
pathObj.search = query;
|
||||
}
|
||||
path = url.format(pathObj);
|
||||
|
||||
var contentType;
|
||||
var body = req.body;
|
||||
|
|
Loading…
Reference in New Issue