Merge branch 'master' of https://github.com/fenghaitao/incubator-cordova-weinre into issue-266
diff --git a/README.md b/README.md
index 253b2e1..5523b53 100644
--- a/README.md
+++ b/README.md
@@ -50,8 +50,8 @@
---------------
The weinre build is currently run on a Mac OS X 10.7 laptop. It also runs on Apache
-continuous integration servers running Linux. It is not typically run on Windows,
-so if you issues with that, please log an issue.
+continuous integration servers running Linux. The build is not typically run on Windows,
+so if you have problems with that, please log an issue.
The weinre build pre-req's the following tools:
@@ -108,7 +108,7 @@
### to run the output of the development build: ###
* run: `cd weinre.server`
-* run: `./weinre [your flavorite options]`
+* run: `node weinre [your flavorite options]`
### other fun development-time hacks ###
@@ -125,7 +125,7 @@
completes.
Putting this altogether, you can open two terminal windows, run `wr` in the `weinre.build`
-directory to have a development build run whenever you change the source, and then run `weinre.hot` in the `weinre.server` directory to have the weinre server restart whenever a build completes, getting a growl notification at that time.
+directory to have a development build run whenever you change the source, and then run `weinre-hot` in the `weinre.server` directory to have the weinre server restart whenever a build completes, getting a growl notification at that time.
updating 3rd party libraries
-----------------------------
@@ -137,7 +137,7 @@
sure the license is acceptable, and add/update the license in the top-level `LICENSE`
file.
-All of the 3rd party dependencies used with weinre are stored in two directories:
+All of the 3rd party dependencies used with weinre are stored in one of two directories:
* `weinre.build/vendor` - contains libraries used in the client and/or target,
as well as libraries used by the build itself
@@ -153,7 +153,7 @@
To update the files in `weinre.server/node_modules`:
-* edit the file `weinre.build/package.json.template' as appropriate
+* edit the file `weinre.build/package.json.template` as appropriate
* run a build (see above), so that the file `weinre.server/package.json` file is created
from the template you edited above
* run: `cd weinre.server`
diff --git a/weinre.build/build.xml b/weinre.build/build.xml
index f4ccae9..ce07ac3 100644
--- a/weinre.build/build.xml
+++ b/weinre.build/build.xml
@@ -386,6 +386,12 @@
<arg value="weinre-node"/>
</exec>
+ <exec executable="tar" dir="${OUT}/files">
+ <arg value="-czf"/>
+ <arg value="../archives/weinre-node-${BUILD_VERSION}.tar.gz"/>
+ <arg value="weinre-node"/>
+ </exec>
+
<!-- =================================== -->
<delete dir="${OUT}/files/weinre-doc"/>
<mkdir dir="${OUT}/files/weinre-doc"/>
diff --git a/weinre.build/package.json.template b/weinre.build/package.json.template
index e5d1406..6f18a35 100644
--- a/weinre.build/package.json.template
+++ b/weinre.build/package.json.template
@@ -29,7 +29,7 @@
"main" : "./lib/weinre",
"bin":
{
- "weinre": "./bin/weinre"
+ "weinre": "./weinre"
},
"homepage": "http://incubator.apache.org/callback/",
"bugs": "https://issues.apache.org/jira/browse/CB",
diff --git a/weinre.server/README.md b/weinre.server/README.md
index fc2f570..935a407 100644
--- a/weinre.server/README.md
+++ b/weinre.server/README.md
@@ -17,31 +17,43 @@
* under the License.
-->
-The files contained in this directory are the source for the
-weinre server, implemented using the
-[express package](http://expressjs.com/)
-on the
-[node.js](http://nodejs.org)
-runtime.
+weinre is WEb INspector REmote.
+Pronounced like the word "winery".
+Or maybe like the word "weiner".
+Who knows, really.
-The weinre server uses numerous 3rd party libraries, installed in the
-`node_modules` directory, and stored in the SCM.
-In case these need to be updated, the file
-`package.json` should be updated with the dependencies and versions
-needed, then run
+weinre is a debugger for web pages,
+like FireBug (for FireFox) and Web Inspector (for WebKit-based browsers),
+except it's designed to work remotely, and in particular,
+to allow you debug web pages on a mobile device such as a phone.
- rm -rf node_modules; npm install
+For more information on weinre:
+[http://http://incubator.apache.org/callback/](http://incubator.apache.org/callback/)
-to refresh the dependencies.
+running
+-------
+For more information about running weinre, you can start the server
+and browse the documentation online.
-before running the weinre server
---------------------------------
+Start the server with the following command
-Before running the weinre server, after downloading the source,
-you will need to run a 'build'.
+ node weinre
+
+This will start the server, and display a message with the URL to the
+server. Browse to that URL in your web browser, and then click on
+'documentation' link, which will display weinre's online documentation.
+From there click on the 'Running' page to get more information about
+running weinre.
+source
+------
-running the weinre server
--------------------------
+Follow the link for more information at the top of this file
+for instructions on obtaining source.
+
+If you're reading this file as part of the source distribution of weinre,
+you will need to run a 'build' before being able to run weinre. See the
+`README.md` file in the root directory of the weinre source distribution
+for more information.
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/.gitignore b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/.gitignore
deleted file mode 100644
index b72f74f..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/test/tmp
-*.upload
-*.un~
-/node_modules
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md
index ca3c00a..3427514 100644
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md
+++ b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/Readme.md
@@ -22,6 +22,23 @@
## Changelog
+### v1.0.9
+
+* Emit progress when content length header parsed (Tim Koschützki)
+* Fix Readme syntax due to GitHub changes (goob)
+* Replace references to old 'sys' module in Readme with 'util' (Peter Sugihara)
+
+### v1.0.8
+
+* Strip potentially unsafe characters when using `keepExtensions: true`.
+* Switch to utest / urun for testing
+* Add travis build
+
+### v1.0.7
+
+* Remove file from package that was causing problems when installing on windows. (#102)
+* Fix typos in Readme (Jason Davies).
+
### v1.0.6
* Do not default to the default to the field name for file uploads where
@@ -125,7 +142,7 @@
var formidable = require('formidable'),
http = require('http'),
- sys = require('sys');
+ util = require('util');
http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
@@ -134,7 +151,7 @@
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
- res.end(sys.inspect({fields: fields, files: files}));
+ res.end(util.inspect({fields: fields, files: files}));
});
return;
}
@@ -154,43 +171,43 @@
### formidable.IncomingForm
-#### new formidable.IncomingForm()
+__new formidable.IncomingForm()__
Creates a new incoming form.
-#### incomingForm.encoding = 'utf-8'
+__incomingForm.encoding = 'utf-8'__
The encoding to use for incoming form fields.
-#### incomingForm.uploadDir = process.env.TMP || '/tmp' || process.cwd()
+__incomingForm.uploadDir = process.env.TMP || '/tmp' || process.cwd()__
The directory for placing file uploads in. You can move them later on using
`fs.rename()`. The default directory is picked at module load time depending on
the first existing directory from those listed above.
-#### incomingForm.keepExtensions = false
+__incomingForm.keepExtensions = false__
If you want the files written to `incomingForm.uploadDir` to include the extensions of the original files, set this property to `true`.
-#### incomingForm.type
+__incomingForm.type__
Either 'multipart' or 'urlencoded' depending on the incoming request.
-#### incomingForm.maxFieldsSize = 2 * 1024 * 1024
+__incomingForm.maxFieldsSize = 2 * 1024 * 1024__
Limits the amount of memory a field (not file) can allocate in bytes.
If this value is exceeded, an `'error'` event is emitted. The default
size is 2MB.
-#### incomingForm.bytesReceived
+__incomingForm.bytesReceived__
The amount of bytes received for this form so far.
-#### incomingForm.bytesExpected
+__incomingForm.bytesExpected__
The expected number of bytes in this form.
-#### incomingForm.parse(request, [cb])
+__incomingForm.parse(request, [cb])__
Parses an incoming node.js `request` containing form data. If `cb` is provided, all fields an files are collected and passed to the callback:
@@ -198,7 +215,7 @@
// ...
});
-#### incomingForm.onPart(part)
+__incomingForm.onPart(part)__
You may overwrite this method if you are interested in directly accessing the multipart stream. Doing so will disable any `'field'` / `'file'` events processing which would occur otherwise, making you fully responsible for handling the processing.
@@ -219,56 +236,56 @@
Check the code in this method for further inspiration.
-#### Event: 'progress' (bytesReceived, bytesExpected)
+__Event: 'progress' (bytesReceived, bytesExpected)__
Emitted after each incoming chunk of data that has been parsed. Can be used to roll your own progress bar.
-#### Event: 'field' (name, value)
+__Event: 'field' (name, value)__
Emitted whenever a field / value pair has been received.
-#### Event: 'fileBegin' (name, file)
+__Event: 'fileBegin' (name, file)__
Emitted whenever a new file is detected in the upload stream. Use this even if
you want to stream the file to somewhere else while buffering the upload on
the file system.
-#### Event: 'file' (name, file)
+__Event: 'file' (name, file)__
Emitted whenever a field / file pair has been received. `file` is an instance of `File`.
-#### Event: 'error' (err)
+__Event: 'error' (err)__
Emitted when there is an error processing the incoming form. A request that experiences an error is automatically paused, you will have to manually call `request.resume()` if you want the request to continue firing `'data'` events.
-#### Event: 'aborted'
+__Event: 'aborted'__
Emitted when the request was aborted by the user. Right now this can be due to a 'timeout' or 'close' event on the socket. In the future there will be a separate 'timeout' event (needs a change in the node core).
-#### Event: 'end' ()
+__Event: 'end' ()__
Emitted when the entire request has been received, and all contained files have finished flushing to disk. This is a great place for you to send your response.
### formidable.File
-#### file.size = 0
+__file.size = 0__
The size of the uploaded file in bytes. If the file is still being uploaded (see `'fileBegin'` event), this property says how many bytes of the file have been written to disk yet.
-#### file.path = null
+__file.path = null__
The path this file is being written to. You can modify this in the `'fileBegin'` event in
case you are unhappy with the way formidable generates a temporary path for your files.
-#### file.name = null
+__file.name = null__
The name this file had according to the uploading client.
-#### file.type = null
+__file.type = null__
The mime type of this file, according to the uploading client.
-#### file.lastModifiedDate = null
+__file.lastModifiedDate = null__
A date object (or `null`) containing the time this file was last written to. Mostly
here for compatibility with the [W3C File API Draft](http://dev.w3.org/2006/webapi/FileAPI/).
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js
index 7b1ddaf..b1e2bfb 100644
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js
+++ b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/lib/incoming_form.js
@@ -247,6 +247,7 @@
if (this.headers['content-length']) {
this.bytesReceived = 0;
this.bytesExpected = parseInt(this.headers['content-length'], 10);
+ this.emit('progress', this.bytesReceived, this.bytesExpected);
}
};
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/generic.http b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/generic.http
deleted file mode 100644
index e0dee27..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/no-filename/generic.http
+++ /dev/null
@@ -1,13 +0,0 @@
-POST /upload HTTP/1.1
-Host: localhost:8080
-Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytyE4wkKlZ5CQJVTG
-Content-Length: 1000
-
-------WebKitFormBoundarytyE4wkKlZ5CQJVTG
-Content-Disposition: form-data; name="upload"; filename=""
-Content-Type: text/plain
-
-I am a plain text file
-
-------WebKitFormBoundarytyE4wkKlZ5CQJVTG--
-
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http
deleted file mode 100644
index 4ef3917..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-chrome-13.http
+++ /dev/null
@@ -1,26 +0,0 @@
-POST /upload HTTP/1.1
-Host: localhost:8080
-Connection: keep-alive
-Referer: http://localhost:8080/
-Content-Length: 383
-Cache-Control: max-age=0
-Origin: http://localhost:8080
-User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1
-Content-Type: multipart/form-data; boundary=----WebKitFormBoundarytyE4wkKlZ5CQJVTG
-Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
-Accept-Encoding: gzip,deflate,sdch
-Accept-Language: en-US,en;q=0.8
-Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
-Cookie: jqCookieJar_tablesorter=%7B%22showListTable%22%3A%5B%5B5%2C1%5D%2C%5B1%2C0%5D%5D%7D
-
-------WebKitFormBoundarytyE4wkKlZ5CQJVTG
-Content-Disposition: form-data; name="title"
-
-Weird filename
-------WebKitFormBoundarytyE4wkKlZ5CQJVTG
-Content-Disposition: form-data; name="upload"; filename=": \ ? % * | %22 < > . ? ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
-Content-Type: text/plain
-
-I am a text file with a funky name!
-
-------WebKitFormBoundarytyE4wkKlZ5CQJVTG--
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http
deleted file mode 100644
index bf49f85..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-firefox-3.6.http
+++ /dev/null
@@ -1,24 +0,0 @@
-POST /upload HTTP/1.1
-Host: localhost:8080
-User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.22) Gecko/20110902 Firefox/3.6.22
-Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
-Accept-Language: en-us,en;q=0.5
-Accept-Encoding: gzip,deflate
-Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
-Keep-Alive: 115
-Connection: keep-alive
-Referer: http://localhost:8080/
-Content-Type: multipart/form-data; boundary=---------------------------9849436581144108930470211272
-Content-Length: 438
-
------------------------------9849436581144108930470211272
-Content-Disposition: form-data; name="title"
-
-Weird filename
------------------------------9849436581144108930470211272
-Content-Disposition: form-data; name="upload"; filename=": \ ? % * | " < > . ☃ ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
-Content-Type: text/plain
-
-I am a text file with a funky name!
-
------------------------------9849436581144108930470211272--
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http
deleted file mode 100644
index ff158a4..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/osx-safari-5.http
+++ /dev/null
@@ -1,23 +0,0 @@
-POST /upload HTTP/1.1
-Host: localhost:8080
-Origin: http://localhost:8080
-Content-Length: 383
-User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1
-Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryQJZ1gvhvdgfisJPJ
-Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
-Referer: http://localhost:8080/
-Accept-Language: en-us
-Accept-Encoding: gzip, deflate
-Connection: keep-alive
-
-------WebKitFormBoundaryQJZ1gvhvdgfisJPJ
-Content-Disposition: form-data; name="title"
-
-Weird filename
-------WebKitFormBoundaryQJZ1gvhvdgfisJPJ
-Content-Disposition: form-data; name="upload"; filename=": \ ? % * | %22 < > . ? ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
-Content-Type: text/plain
-
-I am a text file with a funky name!
-
-------WebKitFormBoundaryQJZ1gvhvdgfisJPJ--
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http
deleted file mode 100644
index f0fc533..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-chrome-12.http
+++ /dev/null
@@ -1,24 +0,0 @@
-POST /upload HTTP/1.1
-Host: 192.168.56.1:8080
-Connection: keep-alive
-Referer: http://192.168.56.1:8080/
-Content-Length: 344
-Cache-Control: max-age=0
-Origin: http://192.168.56.1:8080
-User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30
-Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryEvqBNplR3ByrwQPa
-Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
-Accept-Encoding: gzip,deflate,sdch
-Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
-Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
-
-------WebKitFormBoundaryEvqBNplR3ByrwQPa
-Content-Disposition: form-data; name="title"
-
-Weird filename
-------WebKitFormBoundaryEvqBNplR3ByrwQPa
-Content-Disposition: form-data; name="upload"; filename=" ? % * | %22 < > . ? ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
-Content-Type: text/plain
-
-
-------WebKitFormBoundaryEvqBNplR3ByrwQPa--
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http
deleted file mode 100644
index 2e2c61c..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-7.http
+++ /dev/null
@@ -1,22 +0,0 @@
-POST /upload HTTP/1.1
-Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*
-Referer: http://192.168.56.1:8080/
-Accept-Language: de
-User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
-Content-Type: multipart/form-data; boundary=---------------------------7db1fe232017c
-Accept-Encoding: gzip, deflate
-Host: 192.168.56.1:8080
-Content-Length: 368
-Connection: Keep-Alive
-Cache-Control: no-cache
-
------------------------------7db1fe232017c
-Content-Disposition: form-data; name="title"
-
-Weird filename
------------------------------7db1fe232017c
-Content-Disposition: form-data; name="upload"; filename=" ? % * | " < > . ☃ ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
-Content-Type: application/octet-stream
-
-
------------------------------7db1fe232017c--
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http
deleted file mode 100644
index e2b94fa..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-ie-8.http
+++ /dev/null
@@ -1,22 +0,0 @@
-POST /upload HTTP/1.1
-Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, */*
-Referer: http://192.168.56.1:8080/
-Accept-Language: de
-User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
-Content-Type: multipart/form-data; boundary=---------------------------7db3a8372017c
-Accept-Encoding: gzip, deflate
-Host: 192.168.56.1:8080
-Content-Length: 368
-Connection: Keep-Alive
-Cache-Control: no-cache
-
------------------------------7db3a8372017c
-Content-Disposition: form-data; name="title"
-
-Weird filename
------------------------------7db3a8372017c
-Content-Disposition: form-data; name="upload"; filename=" ? % * | " < > . ☃ ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
-Content-Type: application/octet-stream
-
-
------------------------------7db3a8372017c--
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http
deleted file mode 100644
index 6379ac0..0000000
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/fixture/http/special-chars-in-filename/xp-safari-5.http
+++ /dev/null
@@ -1,22 +0,0 @@
-POST /upload HTTP/1.1
-Host: 192.168.56.1:8080
-Referer: http://192.168.56.1:8080/
-Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
-Accept-Language: en-US
-Origin: http://192.168.56.1:8080
-User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
-Accept-Encoding: gzip, deflate
-Content-Type: multipart/form-data; boundary=----WebKitFormBoundarykmaWSUbu697WN9TM
-Content-Length: 344
-Connection: keep-alive
-
-------WebKitFormBoundarykmaWSUbu697WN9TM
-Content-Disposition: form-data; name="title"
-
-Weird filename
-------WebKitFormBoundarykmaWSUbu697WN9TM
-Content-Disposition: form-data; name="upload"; filename=" ? % * | %22 < > . ? ; ' @ # $ ^ & ( ) - _ = + { } [ ] ` ~.txt"
-Content-Type: text/plain
-
-
-------WebKitFormBoundarykmaWSUbu697WN9TM--
diff --git a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js
index de2bd0c..b64df8b 100644
--- a/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js
+++ b/weinre.server/node_modules/express/node_modules/connect/node_modules/formidable/test/legacy/simple/test-incoming-form.js
@@ -372,15 +372,26 @@
form.headers = {};
form._parseContentLength();
+ assert.strictEqual(form.bytesReceived, null);
assert.strictEqual(form.bytesExpected, null);
form.headers['content-length'] = '8';
+ gently.expect(form, 'emit', function(event, bytesReceived, bytesExpected) {
+ assert.equal(event, 'progress');
+ assert.equal(bytesReceived, 0);
+ assert.equal(bytesExpected, 8);
+ });
form._parseContentLength();
assert.strictEqual(form.bytesReceived, 0);
assert.strictEqual(form.bytesExpected, 8);
// JS can be evil, lets make sure we are not
form.headers['content-length'] = '08';
+ gently.expect(form, 'emit', function(event, bytesReceived, bytesExpected) {
+ assert.equal(event, 'progress');
+ assert.equal(bytesReceived, 0);
+ assert.equal(bytesExpected, 8);
+ });
form._parseContentLength();
assert.strictEqual(form.bytesExpected, 8);
});
diff --git a/weinre.server/node_modules/express/node_modules/mime/README.md b/weinre.server/node_modules/express/node_modules/mime/README.md
index a157de1..d8b66a8 100644
--- a/weinre.server/node_modules/express/node_modules/mime/README.md
+++ b/weinre.server/node_modules/express/node_modules/mime/README.md
@@ -1,6 +1,6 @@
# mime
-Support for mapping between file extensions and MIME types. This module uses the latest version of the Apache "mime.types" file (maps over 620 types to 800+ extensions). It is also trivially easy to add your own types and extensions, should you need to do that.
+Comprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.
## Install
@@ -11,30 +11,36 @@
## API - Queries
### mime.lookup(path)
-Get the mime type associated with a file. This is method is case-insensitive. Everything in path up to and including the last '/' or '.' is ignored, so you can pass it paths, filenames, or extensions, like so:
+Get the mime type associated with a file. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.'). E.g.
var mime = require('mime');
mime.lookup('/path/to/file.txt'); // => 'text/plain'
mime.lookup('file.txt'); // => 'text/plain'
- mime.lookup('.txt'); // => 'text/plain'
+ mime.lookup('.TXT'); // => 'text/plain'
mime.lookup('htm'); // => 'text/html'
-### mime.extension(type) - lookup the default extension for type
+### mime.extension(type)
+Get the default extension for `type`
mime.extension('text/html'); // => 'html'
mime.extension('application/octet-stream'); // => 'bin'
-### mime.charsets.lookup() - map mime-type to charset
+### mime.charsets.lookup()
+
+Map mime-type to charset
mime.charsets.lookup('text/plain'); // => 'UTF-8'
(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)
-## API - Customizing
+## API - Defining Custom Types
The following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/bentomas/node-mime/wiki/Requesting-New-Types).
-### mime.define() - Add custom mime/extension mappings
+
+### mime.define()
+
+Add custom mime/extension mappings
mime.define({
'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],
@@ -43,8 +49,15 @@
});
mime.lookup('x-sft'); // => 'text/x-some-format'
+
+The first entry in the extensions array is returned by `mime.extension()`. E.g.
+
mime.extension('text/x-some-format'); // => 'x-sf'
-### mime.load(filepath) - Load mappings from an Apache ".types" format file
+### mime.load(filepath)
+
+Load mappings from an Apache ".types" format file
mime.load('./my_project.types');
+
+The .types file format is simple - See the `types` dir for examples.
diff --git a/weinre.server/node_modules/express/node_modules/mime/mime.js b/weinre.server/node_modules/express/node_modules/mime/mime.js
index 5fac753..64dbeec 100644
--- a/weinre.server/node_modules/express/node_modules/mime/mime.js
+++ b/weinre.server/node_modules/express/node_modules/mime/mime.js
@@ -2,11 +2,11 @@
fs = require('fs');
var mime = module.exports = {
- /** Map of extension to mime type */
- types: {},
+ // Map of extension to mime type
+ types: Object.create(null),
- /** Map of mime type to extension */
- extensions :{},
+ // Map of mime type to extension
+ extensions :Object.create(null),
/**
* Define mimetype -> extension mappings. Each key is a mime-type that maps
@@ -60,7 +60,8 @@
*/
lookup: function(path, fallback) {
var ext = path.replace(/.*[\.\/]/, '').toLowerCase();
- return mime.types[ext] || fallback || mime.default_type;
+
+ return mime.types[ext] || fallback || mime.default_type
},
/**
diff --git a/weinre.server/node_modules/express/node_modules/mime/test.js b/weinre.server/node_modules/express/node_modules/mime/test.js
index b904895..8a8a5b1 100644
--- a/weinre.server/node_modules/express/node_modules/mime/test.js
+++ b/weinre.server/node_modules/express/node_modules/mime/test.js
@@ -1,79 +1,53 @@
/**
- * Requires the async_testing module
- *
* Usage: node test.js
*/
+
var mime = require('./mime');
-exports["test mime lookup"] = function(test) {
- // easy
- test.equal('text/plain', mime.lookup('text.txt'));
+var assert = require('assert');
- // hidden file or multiple periods
- test.equal('text/plain', mime.lookup('.text.txt'));
-
- // just an extension
- test.equal('text/plain', mime.lookup('.txt'));
-
- // just an extension without a dot
- test.equal('text/plain', mime.lookup('txt'));
-
- // default
- test.equal('application/octet-stream', mime.lookup('text.nope'));
-
- // fallback
- test.equal('fallback', mime.lookup('text.fallback', 'fallback'));
-
- test.finish();
-};
-
-exports["test extension lookup"] = function(test) {
- // easy
- test.equal('txt', mime.extension(mime.types.text));
- test.equal('html', mime.extension(mime.types.htm));
- test.equal('bin', mime.extension('application/octet-stream'));
-
- test.finish();
-};
-
-exports["test mime lookup uppercase"] = function(test) {
- // easy
- test.equal('text/plain', mime.lookup('TEXT.TXT'));
-
- // just an extension
- test.equal('text/plain', mime.lookup('.TXT'));
-
- // just an extension without a dot
- test.equal('text/plain', mime.lookup('TXT'));
-
- // default
- test.equal('application/octet-stream', mime.lookup('TEXT.NOPE'));
-
- // fallback
- test.equal('fallback', mime.lookup('TEXT.FALLBACK', 'fallback'));
-
- test.finish();
-};
-
-exports["test custom types"] = function(test) {
- test.equal('application/octet-stream', mime.lookup('file.buffer'));
- test.equal('audio/mp4', mime.lookup('file.m4a'));
-
- test.finish();
-};
-
-exports["test charset lookup"] = function(test) {
- // easy
- test.equal('UTF-8', mime.charsets.lookup('text/plain'));
-
- // none
- test.ok(typeof mime.charsets.lookup(mime.types.js) == 'undefined');
-
- // fallback
- test.equal('fallback', mime.charsets.lookup('application/octet-stream', 'fallback'));
-
- test.finish();
-};
-
-if (module == require.main) {
- require('async_testing').run(__filename, process.ARGV);
+function eq(a, b) {
+ console.log('Test: ' + a + ' === ' + b);
+ assert.strictEqual.apply(null, arguments);
}
+
+console.log(Object.keys(mime.extensions).length + ' types');
+console.log(Object.keys(mime.types).length + ' extensions\n');
+
+//
+// Test mime lookups
+//
+
+eq('text/plain', mime.lookup('text.txt'));
+eq('text/plain', mime.lookup('.text.txt'));
+eq('text/plain', mime.lookup('.txt'));
+eq('text/plain', mime.lookup('txt'));
+eq('application/octet-stream', mime.lookup('text.nope'));
+eq('fallback', mime.lookup('text.fallback', 'fallback'));
+eq('application/octet-stream', mime.lookup('constructor'));
+eq('text/plain', mime.lookup('TEXT.TXT'));
+
+//
+// Test extensions
+//
+
+eq('txt', mime.extension(mime.types.text));
+eq('html', mime.extension(mime.types.htm));
+eq('bin', mime.extension('application/octet-stream'));
+eq(undefined, mime.extension('constructor'));
+
+//
+// Test node types
+//
+
+eq('application/octet-stream', mime.lookup('file.buffer'));
+eq('audio/mp4', mime.lookup('file.m4a'));
+
+//
+// Test charsets
+//
+
+eq('UTF-8', mime.charsets.lookup('text/plain'));
+eq(undefined, mime.charsets.lookup(mime.types.js));
+eq('fallback', mime.charsets.lookup('application/octet-stream', 'fallback'));
+
+console.log('\nOK');
diff --git a/weinre.server/node_modules/express/node_modules/mime/types/mime.types b/weinre.server/node_modules/express/node_modules/mime/types/mime.types
index 6a90929..b3cae2e 100644
--- a/weinre.server/node_modules/express/node_modules/mime/types/mime.types
+++ b/weinre.server/node_modules/express/node_modules/mime/types/mime.types
@@ -26,7 +26,9 @@
# application/auth-policy+xml
# application/batch-smtp
# application/beep+xml
+# application/calendar+xml
# application/cals-1840
+# application/ccmp+xml
application/ccxml+xml ccxml
application/cdmi-capability cdmia
application/cdmi-container cdmic
@@ -83,6 +85,7 @@
# application/index.obj
# application/index.response
# application/index.vnd
+application/inkml+xml ink inkml
# application/iotp
application/ipfix ipfix
# application/ipp
@@ -147,6 +150,7 @@
application/oebps-package+xml opf
application/ogg ogx
application/onenote onetoc onetoc2 onetmp onepkg
+application/oxps oxps
# application/parityfec
application/patch-ops-error+xml xer
application/pdf pdf
@@ -185,6 +189,10 @@
# application/riscos
# application/rlmi+xml
application/rls-services+xml rs
+application/rpki-ghostbusters gbr
+application/rpki-manifest mft
+application/rpki-roa roa
+# application/rpki-updown
application/rsd+xml rsd
application/rss+xml rss
application/rtf rtf
@@ -238,6 +246,7 @@
application/timestamped-data tsd
# application/tve-trigger
# application/ulpfec
+# application/vcard+xml
# application/vemmi
# application/vividence.scriptfile
# application/vnd.3gpp.bsf+xml
@@ -275,6 +284,7 @@
application/vnd.apple.mpegurl m3u8
# application/vnd.arastra.swi
application/vnd.aristanetworks.swi swi
+application/vnd.astraea-software.iota iota
application/vnd.audiograph aep
# application/vnd.autopackage
# application/vnd.avistar+xml
@@ -295,6 +305,7 @@
application/vnd.clonk.c4group c4g c4d c4f c4p c4u
application/vnd.cluetrust.cartomobile-config c11amc
application/vnd.cluetrust.cartomobile-config-pkg c11amz
+# application/vnd.collection+json
# application/vnd.commerce-battelle
application/vnd.commonspace csp
application/vnd.contact.cmsg cdbcmsg
@@ -312,6 +323,7 @@
application/vnd.cups-ppd ppd
# application/vnd.cups-raster
# application/vnd.cups-raw
+# application/vnd.curl
application/vnd.curl.car car
application/vnd.curl.pcurl pcurl
# application/vnd.cybank
@@ -319,6 +331,7 @@
application/vnd.dece.data uvf uvvf uvd uvvd
application/vnd.dece.ttml+xml uvt uvvt
application/vnd.dece.unspecified uvx uvvx
+application/vnd.dece.zip uvz uvvz
application/vnd.denovo.fcselayout-link fe_launch
# application/vnd.dir-bi.plate-dl-nosuffix
application/vnd.dna dna
@@ -358,6 +371,7 @@
# application/vnd.ecowin.seriesupdate
# application/vnd.emclient.accessrequest+xml
application/vnd.enliven nml
+# application/vnd.eprints.data+xml
application/vnd.epson.esf esf
application/vnd.epson.msf msf
application/vnd.epson.quickanime qam
@@ -433,6 +447,7 @@
application/vnd.groove-tool-message gtm
application/vnd.groove-tool-template tpl
application/vnd.groove-vcard vcg
+# application/vnd.hal+json
application/vnd.hal+xml hal
application/vnd.handheld-entertainment+xml zmm
application/vnd.hbci hbci
@@ -588,6 +603,7 @@
# application/vnd.music-niff
application/vnd.musician mus
application/vnd.muvee.style msty
+application/vnd.mynfc taglet
# application/vnd.ncd.control
# application/vnd.ncd.reference
# application/vnd.nervana
@@ -636,6 +652,7 @@
application/vnd.oasis.opendocument.text-template ott
application/vnd.oasis.opendocument.text-web oth
# application/vnd.obn
+# application/vnd.oftn.l10n+json
# application/vnd.oipf.contentaccessdownload+xml
# application/vnd.oipf.contentaccessstreaming+xml
# application/vnd.oipf.cspg-hexbinary
@@ -665,12 +682,15 @@
# application/vnd.oma.bcast.sprov+xml
# application/vnd.oma.bcast.stkm
# application/vnd.oma.cab-address-book+xml
+# application/vnd.oma.cab-feature-handler+xml
# application/vnd.oma.cab-pcc+xml
+# application/vnd.oma.cab-user-prefs+xml
# application/vnd.oma.dcd
# application/vnd.oma.dcdc
application/vnd.oma.dd2+xml dd2
# application/vnd.oma.drm.risd+xml
# application/vnd.oma.group-usage-list+xml
+# application/vnd.oma.pal+xml
# application/vnd.oma.poc.detailed-progress-report+xml
# application/vnd.oma.poc.final-report+xml
# application/vnd.oma.poc.groups+xml
@@ -857,6 +877,7 @@
application/vnd.stardivision.math smf
application/vnd.stardivision.writer sdw vor
application/vnd.stardivision.writer-global sgl
+application/vnd.stepmania.package smzip
application/vnd.stepmania.stepchart sm
# application/vnd.street-stream
application/vnd.sun.xml.calc sxc
@@ -880,6 +901,7 @@
# application/vnd.syncml.dm.notification
# application/vnd.syncml.ds.notification
application/vnd.tao.intent-module-archive tao
+application/vnd.tcpdump.pcap pcap cap dmp
application/vnd.tmobile-livetv tmo
application/vnd.trid.tpt tpt
application/vnd.triscape.mxs mxs
@@ -949,6 +971,7 @@
# application/vnd.yamaha.remote-setup
application/vnd.yamaha.smaf-audio saf
application/vnd.yamaha.smaf-phrase spf
+# application/vnd.yamaha.through-ngn
# application/vnd.yamaha.tunnel-udpencap
application/vnd.yellowriver-custom-menu cmp
application/vnd.zul zir zirz
@@ -1096,6 +1119,7 @@
# audio/dsr-es202050
# audio/dsr-es202211
# audio/dsr-es202212
+# audio/dv
# audio/dvi4
# audio/eac3
# audio/evrc
@@ -1109,6 +1133,7 @@
# audio/evrcwb0
# audio/evrcwb1
# audio/example
+# audio/fwdred
# audio/g719
# audio/g722
# audio/g7221
@@ -1126,6 +1151,7 @@
# audio/gsm-efr
# audio/gsm-hr-08
# audio/ilbc
+# audio/ip-mr_v2.5
# audio/l16
# audio/l20
# audio/l24
@@ -1186,6 +1212,7 @@
audio/vnd.dra dra
audio/vnd.dts dts
audio/vnd.dts.hd dtshd
+# audio/vnd.dvb.file dvb
# audio/vnd.everad.plj
# audio/vnd.hns.audio
audio/vnd.lucent.voice lvp
@@ -1337,6 +1364,7 @@
# text/ecmascript
# text/enriched
# text/example
+# text/fwdred
text/html html htm
# text/javascript
text/n3 n3
@@ -1358,12 +1386,14 @@
text/turtle ttl
# text/ulpfec
text/uri-list uri uris urls
+text/vcard vcard
# text/vnd.abc
text/vnd.curl curl
text/vnd.curl.dcurl dcurl
text/vnd.curl.scurl scurl
text/vnd.curl.mcurl mcurl
# text/vnd.dmclientscript
+text/vnd.dvb.subtitle sub
# text/vnd.esmertec.theme-descriptor
text/vnd.fly fly
text/vnd.fmi.flexstor flx
@@ -1443,6 +1473,7 @@
# video/vnd.directv.mpeg
# video/vnd.directv.mpeg-tts
# video/vnd.dlna.mpeg-tts
+video/vnd.dvb.file dvb
video/vnd.fvt fvt
# video/vnd.hns.video
# video/vnd.iptvforum.1dparityfec-1010
diff --git a/weinre.server/node_modules/express/node_modules/mime/types/node.types b/weinre.server/node_modules/express/node_modules/mime/types/node.types
index fdabaa4..f7da49f 100644
--- a/weinre.server/node_modules/express/node_modules/mime/types/node.types
+++ b/weinre.server/node_modules/express/node_modules/mime/types/node.types
@@ -41,3 +41,8 @@
# Why: See https://github.com/bentomas/node-mime/pull/6
# Added by: mjrusso
video/MP2T ts
+
+# What: The FLAC lossless codec format
+# Why: Streaming and serving FLAC audio
+# Added by: jacobrask
+audio/flac flac
\ No newline at end of file
diff --git a/weinre.server/weinre b/weinre.server/weinre
index d1b9904..55b7f65 100755
--- a/weinre.server/weinre
+++ b/weinre.server/weinre
@@ -25,9 +25,11 @@
var path = require('path')
var fs = require('fs')
-var lib = path.join(path.dirname(fs.realpathSync(__filename)), 'lib')
-require('coffee-script')
+var rootPath = path.dirname(fs.realpathSync(__filename))
-var cli = require(lib + '/cli')
-cli.run()
+var lib = path.join(rootPath, 'lib')
+var node_modules = path.join(rootPath, 'node_modules')
+
+require(path.join(node_modules, 'coffee-script'))
+require(path.join(lib, '/cli')).run()
diff --git a/weinre.server/weinre-hot b/weinre.server/weinre-hot
index 2287149..cce978b 100755
--- a/weinre.server/weinre-hot
+++ b/weinre.server/weinre-hot
@@ -25,6 +25,6 @@
# to determine whether to kill and restart the server.
cd `dirname $0`
-supervisor -n -p 1 -e txt -w ../weinre.build/out/build-done.txt ./weinre
+supervisor -n -p 1 -e txt -w ../weinre.build/out/build-done.txt node weinre
# supervisor: https://github.com/isaacs/node-supervisor
\ No newline at end of file