How to use the send function in send

To help you get started, we’ve selected a few send examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github LessWrong2 / Lesswrong2 / packages / webapp / webapp_server.js View on Github external
res.setHeader("Content-Type", "application/javascript; charset=UTF-8");
  } else if (info.type === "css") {
    res.setHeader("Content-Type", "text/css; charset=UTF-8");
  } else if (info.type === "json") {
    res.setHeader("Content-Type", "application/json; charset=UTF-8");
  }

  if (info.hash) {
    res.setHeader('ETag', '"' + info.hash + '"');
  }

  if (info.content) {
    res.write(info.content);
    res.end();
  } else {
    send(req, info.absolutePath, {
      maxage: maxAge,
      dotfiles: 'allow', // if we specified a dotfile in the manifest, serve it
      lastModified: false // don't set last-modified based on the file date
    }).on('error', function (err) {
      Log.error("Error serving static file " + err);
      res.writeHead(500);
      res.end();
    }).on('directory', function () {
      Log.error("Unexpected directory " + info.absolutePath);
      res.writeHead(500);
      res.end();
    }).pipe(res);
  }
};
github zeit / next.js / packages / next / next-server / server / serve-static.ts View on Github external
return new Promise((resolve, reject) => {
    send(req, path)
      .on('directory', () => {
        // We don't allow directories to be read.
        const err: any = new Error('No directory access')
        err.code = 'ENOENT'
        reject(err)
      })
      .on('error', reject)
      .pipe(res)
      .on('finish', resolve)
  })
}
github wojtkowiak / meteor-desktop / skeleton / modules / localServer.js View on Github external
// Check if we have an asset for that url defined.
            /** @type {Asset} */
            const asset = self.assetBundle.assetForUrlPath(parsedUrl.pathname);

            if (!asset) return next();

            const processors = () => (
                addSourceMapHeader(asset, res),
                addETagHeader(asset, res),
                addCacheHeader(asset, res, req.url)
            );

            if (local) {
                return createStreamProtocolResponse(asset.getFile(), res, processors);
            }
            return send(
                req,
                encodeURIComponent(asset.getFile()),
                { etag: false, cacheControl: false }
            )
                .on('file', processors)
                .pipe(res);
        }
github TaumuLu / lissom / src / server / index.ts View on Github external
return new Promise((resolve, reject) => {
      send(req, path, { index: false, root: outputDir })
        .on('directory', () => {
          // We don't allow directories to be read.
          const err: any = new Error('No directory access')
          err.code = 'ENOENT'
          reject(err)
        })
        .on('error', reject)
        .pipe(res)
        .on('finish', resolve)
    }).catch(error => {
      this.logError(error)
github avetjs / avet / core / server / render.js View on Github external
return new Promise((resolve, reject) => {
    send(req, path)
      .on('directory', () => {
        // We don't allow directories to be read.
        const err = new Error('No directory access');
        err.code = 'ENOENT';
        reject(err);
      })
      .on('error', reject)
      .pipe(res)
      .on('finish', resolve);
  });
}
github wojtkowiak / meteor-desktop / skeleton / modules / localServer.js View on Github external
function IndexHandler(req, res, next, local = false) {
            const parsedUrl = url.parse(req.url);
            if (!parsedUrl.pathname.startsWith(self.localFilesystemUrl) &&
                parsedUrl.pathname !== '/favicon.ico'
            ) {
                /** @type {Asset} */
                const indexFile = self.assetBundle.getIndexFile();
                if (local) {
                    createStreamProtocolResponse(indexFile.getFile(), res, () => {
                    });
                } else {
                    send(req, encodeURIComponent(indexFile.getFile())).pipe(res);
                }
            } else {
                next();
            }
        }
github steelbrain / pundle / packages / middleware / src / index.js View on Github external
let generated = compilation.generate()
      if (middlewareConfig.sourceMap) {
        generated += `//# sourceMappingURL=${middlewareConfig.publicBundlePath + '.map'}`
      }
      res.send(generated)
      return
    }
    if (url === middlewareConfig.publicBundlePath + '.map') {
      if (!await prepareRequest(res)) {
        return
      }
      res.setHeader('Content-Type', 'application/json')
      res.send(compilation.generateSourceMap())
      return
    }
    send(req, url, { root: middlewareConfig.sourceRoot, index: 'index.html' })
      .on('error', function() {
        next()
      })
      .on('directory', function() {
        res.statusCode = 301
        res.setHeader('Location', `${req.url}/`)
        res.send(`Redirecting to ${req.url}/`)
      })
      .pipe(res)
  }
github jaredpalmer / after.js / packages / after / server / index.js View on Github external
return new Promise((resolve, reject) => {
      send(req, p)
        .on('error', err => {
          if ('ENOENT' === err.code) {
            this.render404(req, res).then(resolve, reject);
          } else {
            reject(err);
          }
        })
        .pipe(res)
        .on('finish', resolve);
    });
  }

send

Better streaming static file server with Range and conditional-GET support

MIT
Latest version published 2 years ago

Package Health Score

76 / 100
Full package analysis