ENYO-3061: cleanup fsLocal now uses npmlog & innerits from svcBase.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: `fsLocal` now uses `ServiceBase#returnFormaData()`

…instead of re-implementing its own

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: remove useless `.bind(this)`

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: test file-system for operation on a binary file

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: fix broken `log.level` in `fs*`

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061, ENYO-2999: do not try to catch Zalgo when not here

...i.e. do not invoke `next` via `setImmediate(next)` when already in an
asynchronous callback context.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: break streaming on I/O errors

Without this fix, no error is ever returned to the HTTP client.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: switch from `express.bodyParser()` to `busboy`

- Use our own JSON bodyParser
- Implement web-form & multipart form parser based on busboy

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: cleanup redundant/outdated code/comments

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: take into account the `Content-Transport-Encoding`

This commit demands that https://github.com/mscdex/busboy/pull/4 is
merged, upstreamed & published on npmjs.org.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: cleanup, prefer `self` over `this` + nested `bind()`

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: Git-ignore `node_modules/busboy`

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061, ENYO-3259: mutualize form-data between bdPhoneGap & fsLocal

This is a regression introduced by the (incomplete) refactoring done
in the context of ENYO-2935.  This commit mutualises more code & fix the
regression (at least it seems to).

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061, cleanup

remove:
- unused SimpleFormData (now integrated in ServiceBase)
- too verbose traces
- jshint issues
- (more) paranoid Zalgo avoidance

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
Merge branch 'master' of github.com:enyojs/ares-project into ENYO-3061

Conflicts:
	hermes/lib/bdBase.js
	hermes/lib/fsBase.js
	hermes/lib/svcBase.js
ENYO-3061: bump busboy version from 0.0.4 to 0.0.5

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
Merge branch 'master' of github.com:enyojs/ares-project into ENYO-3061

# By Vincent Herilier (12) and others
# Via Vincent Herilier (4) and others
* 'master' of github.com:enyojs/ares-project: (31 commits)
  ENYO-3295:wrap the path indicating an ares bundled browser with double quotation to launch it
  ENYO-3185 : move onyx master in Ares for TabBar Item css
  ENYO-3110: remove dead code
  ENYO-2577: add tooltip to Ares tab bar
  ENYO-2577: move onyx master in ares for pick up tooltip on tab bars
  ENYO-3110: reference content is now always updated when expected render will update file code content
  ENYO-1887: fix a typo in a variable name
  ENYO-3129: removed development logs
  ENYO-1887: global palette filtering appliance, filtering is not case-sensitive
  ENYO-3129: put the name of the configuration component of the row in camel-case.
  ENYO-3129: pull request remarks treatment.
  ENYO-3110: update previousContent before removing the component
  ENYO-3110: remove dead code
  ENYO-3062:DnD control point disappear in designer
  ENYO-3168: resolve a JSHint warning
  ENYO-3168: launch EnyoJS API Viewer with a Phobos/ACE selected string as parameter
  ENYO-3062:DnD control point disappear in designer you can see those make a scroller of designer when it is in scroller component. it is scroller Pull to the right. you can see drag point in the designer. Enyo-DCO-1.1-Signed-off-by: hgpark uionion@gmail.com
  ENYO-1887: use string.indexOf instead of string.search
  ENYO-3168: make ComponentsRegistry static
  ENYO-3129: disable the inputs of the filechooser widgets in Phonegap build panel.
  ...
ENYO-3061: do not build every input streams upfront, but upon need

* Otherwise it breaks with huge apps to build.
* Cherry-picked from ENYO-3285.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: do not pause() node-0.10 ReadableStream's

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>
ENYO-3061: enforce `ServiceBase#returnFormData()` per-part API

- Each part is expected to be `{ name: "c/yyy", path: "/a/b/c/yyy" }`.
- This change was missing in the early version of this PR.

Enyo-DCO-1.1-Signed-off-by: Francois-Xavier KOWALSKI <francois-xavier.kowalski@hp.com>