   ###
   @summary Require NPM packages
   ###
-  fs       = require 'fs-extra'
-  events   = require 'events'
-  request  = require 'request'
-  Throttle = require 'throttle'
-  fileType = require 'file-type'
-  nodePath = require 'path'
+  fs       = Npm.require 'fs-extra'
+  events   = Npm.require 'events'
+  request  = Npm.require 'request'
+  Throttle = Npm.require 'throttle'
+  fileType = Npm.require 'file-type'
+  nodePath = Npm.require 'path'
 
   ###
   @var {Object} bound - Meteor.bindEnvironment (Fiber wrapper)

    else
      dispositionType = 'inline; '

    dispositionName     = "filename=\"#{encodeURIComponent(fileRef.name)}\"; filename=*UTF-8\"#{encodeURIComponent(fileRef.name)}\"; "
    dispositionEncoding = 'charset=utf-8'

    http.response.setHeader 'Content-Disposition', dispositionType + dispositionName + dispositionEncoding

    if http.request.headers.range and not force200
      partiral = true

              'x-fileId':     opts.fileId
              'content-type': 'text/plain'
          }, (error, result) ->
            try
              result    = JSON.parse result?.content or {}
            catch e
              console.warn 'Something went wrong! [sendEOF] method doesn\'t returned JSON! Looks like you\'re on Cordova app or behind proxy, switching to DDP transport is recommended.'
              result    = {}
            result.meta = fixJSONParse result.meta if result?.meta
            self.emitEvent 'end', [error, result]
            return
