axios 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of axios might be problematic. Click here for more details.

@@ -0,0 +1,98 @@
1
+ var fs = require('fs');
2
+ var url = require('url');
3
+ var path = require('path');
4
+ var http = require('http');
5
+ var argv = require('minimist')(process.argv.slice(2));
6
+ var server;
7
+ var dirs;
8
+
9
+ function listDirs(root) {
10
+ var files = fs.readdirSync(root);
11
+ var dirs = [];
12
+
13
+ for (var i=0, l=files.length; i<l; i++) {
14
+ var file = files[i];
15
+ if (file[0] !== '.') {
16
+ var stat = fs.statSync(path.join(root, file));
17
+ if (stat.isDirectory()) {
18
+ dirs.push(file);
19
+ }
20
+ }
21
+ }
22
+
23
+ return dirs;
24
+ }
25
+
26
+
27
+ function sendResponse(statusCode, statusMessage) {
28
+ res.writeHead(statusCode);
29
+ res.write('<h1>' + statusMessage + '</h1>');
30
+ res.end();
31
+ }
32
+
33
+ function send200(res) {
34
+ sendResponse(200, 'OK');
35
+ }
36
+
37
+ function send404(res) {
38
+ sendResponse(404, 'Not Found');
39
+ }
40
+
41
+ function pipeFileToResponse(res, file, type) {
42
+ if (type) {
43
+ res.writeHead(200, {
44
+ 'Content-Type': type
45
+ });
46
+ }
47
+ fs.createReadStream(path.join(__dirname, file)).pipe(res);
48
+ }
49
+
50
+
51
+ dirs = listDirs(__dirname);
52
+
53
+ server = http.createServer(function (req, res) {
54
+ var url = req.url;
55
+
56
+ if (/axios\.min\.js$/.test(url)) {
57
+ pipeFileToResponse(res, '../dist/axios.min.js', 'text/javascript');
58
+ return;
59
+ }
60
+ if (/axios\.min\.map$/.test(url)) {
61
+ pipeFileToResponse(res, '../dist/axios.min.map', 'text/javascript');
62
+ return;
63
+ }
64
+
65
+ // Format request */ -> */index.html
66
+ if (/\/$/.test(url)) {
67
+ url += 'index.html';
68
+ }
69
+
70
+ // Format request /get -> /get/index.html
71
+ var parts = url.split('/');
72
+ if (dirs.indexOf(parts[parts.length - 1]) > -1) {
73
+ url += '/index.html';
74
+ }
75
+
76
+ // Process index.html request
77
+ if (/index\.html$/.test(url)) {
78
+ if (fs.existsSync(path.join(__dirname, url))) {
79
+ pipeFileToResponse(res, url, 'text/html');
80
+ } else {
81
+ send404(res);
82
+ }
83
+ }
84
+
85
+ // Process server request
86
+ else if (new RegExp('(' + dirs.join('|') + ')\/server').test(url)) {
87
+ if (fs.existsSync(path.join(__dirname, url + '.js'))) {
88
+ require(path.join(__dirname, url + '.js'))(req, res);
89
+ } else {
90
+ send404(res);
91
+ }
92
+ }
93
+ else {
94
+ send404(res);
95
+ }
96
+ });
97
+
98
+ server.listen(argv.p || 3000);
@@ -0,0 +1,43 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>axios - file upload example</title>
5
+ <link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
6
+ </head>
7
+ <body class="container">
8
+ <h1>file upload</h1>
9
+
10
+ <form role="form" class="form" onsubmit="return false;">
11
+ <div class="form-group">
12
+ <label for="file">File</label>
13
+ <input id="file" type="file" class="form-control"/>
14
+ </div>
15
+ <button id="upload" type="button" class="btn btn-primary">Upload</button>
16
+ </form>
17
+
18
+ <div id="output" class="container"></div>
19
+
20
+ <script src="/axios.min.js"></script>
21
+ <script>
22
+ (function () {
23
+ var output = document.getElementById('output');
24
+ document.getElementById('upload').onclick = function () {
25
+ var data = new FormData();
26
+ data.append('foo', 'bar');
27
+ data.append('file', document.getElementById('file').files[0]);
28
+
29
+ axios.put('/upload/server', data)
30
+ .then(function (res) {
31
+ output.className = 'container';
32
+ output.innerHTML = res.data;
33
+ })
34
+ .catch(function (res) {
35
+ output.className = 'container text-danger';
36
+ output.innerHTML = res.data;
37
+ });
38
+ };
39
+ })();
40
+ </script>
41
+ </body>
42
+ </html>
43
+
@@ -0,0 +1,11 @@
1
+ module.exports = function (req, res) {
2
+ var data = '';
3
+
4
+ req.on('data', function (chunk) {
5
+ data += chunk;
6
+ });
7
+
8
+ req.on('end', function () {
9
+ console.log(data);
10
+ });
11
+ };
package/lib/defaults.js CHANGED
@@ -9,6 +9,9 @@ var DEFAULT_CONTENT_TYPE = {
9
9
 
10
10
  module.exports = {
11
11
  transformRequest: [function (data, headers) {
12
+ if(utils.isFormData(data)) {
13
+ return data;
14
+ }
12
15
  if (utils.isArrayBuffer(data)) {
13
16
  return data;
14
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axios",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "Promise based HTTP client for the browser and node.js",
5
5
  "main": "index.js",
6
6
  "scripts": {