Comments (4)
So the quest is, possible to use something that the Node.js fs
module cannot read? It is, since this module will also accept a Buffer
, so you can write code to make an HTTP request and then instantiate this module with the resulting Buffer
.
from serve-favicon.
Doug - you are wicked fast! If you help me with an example of that I will submit a PR to document it in the readme. Deal? I'm not a buffer/streams guy ... yet.
from serve-favicon.
No problem :) Perhaps you just always catch me at a time that I'm ready to respond ;)
var express = require('express')
var getRawBody = require('raw-body')
var https = require('https')
var serveFavicon = require('serve-favicon')
createApp(function (err, app) {
app.listen(3000, function (err) {
if (err) throw err
console.log('Express listening on port 3000')
})
})
function getRemoteContent(url, callback) {
var req = https.get(url)
req.once('error', callback)
req.on('response', function (res) {
getRawBody(res, callback)
})
}
function createRemoteServeFavicon(url, callback) {
getRemoteContent(url, function (err, buf) {
if (err) return callback(err)
callback(null, serveFavicon(buf))
})
}
function createApp(callback) {
var app = express()
createRemoteServeFavicon('https://d1ir1l1v07ijd0.cloudfront.net/img/ico/favicon.ico', function (err, favicon) {
if (err) return callback(err)
app.use(favicon)
populateRoutes(app)
callback(null, app)
})
}
function populateRoutes(app) {
app.get('/', function (req, res) {
res.send('hello, world')
})
}
I will submit a PR to document it in the readme.
I wouldn't accept a PR of the above extremely complex example (it's so complex because Node.js does not allow for sync network calls). I'll still add an example of "getting a Buffer from somewhere".
from serve-favicon.
Wow! Thanks Doug!
from serve-favicon.
Related Issues (20)
- Purpose HOT 3
- Performance HOT 2
- where do i get the favicon icon ? HOT 1
- Support Requirement for Multiple Favicons HOT 4
- doc typo HOT 1
- serving different favicon for different pages HOT 1
- If no favicon present, should just return a 404 HOT 13
- Can't see favicon when using Microsoft Edge HOT 2
- Vary favicon by domain HOT 4
- Doubts on res._headers HOT 3
- Favicon not showing when running server with long context path. HOT 5
- How to use png favicon files? HOT 1
- how can I use a url instead of path? HOT 4
- how to add different favicon for different routers? HOT 3
- serve-favicon vulnerable to RegEx Denial of Service attack HOT 1
- Favicon is not showing HOT 5
- Can't run express js server app on my local host:3000 HOT 4
- Feature Request: Serve icon based on host mapping HOT 2
- Doesn't work with Chrome HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from serve-favicon.