Comments (3)
That's correct, your array says your server-side prefers, in order (1) image/webp and (2) image/jpeg. The client does not send any Accept
header, in which as in the HTTP specs, it means that the user agent accepts any type as the response, so since you most prefer to send back image/webp, that is what this module sends, as the client does accept that and it's what you prefer the most to send.
from accepts.
This is not a default this module made up: it is in the specification.
https://tools.ietf.org/html/rfc7231#section-5.3.2
A request without any Accept header field implies that the user agent
will accept any media type in response.
If you want the behavior of choosing a "fallback" when the agent accepts anything, you should list your default as the first option, so it is the one chosen when the client doesn't have any particular preference.
from accepts.
Unless I am overlooking something, this doesn't make much sense.
The input of types
is the types in the order of preference, e.g.
const contentType = accepts(incomingMessage)
.type([
'image/webp',
'image/jpeg',
]) || 'image/jpeg';
Here I prefer webp
, but want to fallback to jpeg
if the latter is not supported.
Having jpeg
first will just mean using jpeg
all the time.
from accepts.
Related Issues (17)
- Type suffixes HOT 5
- Document `req` Requirements HOT 7
- Implementing "406: not acceptable" HOT 4
- Support charset in accept header HOT 12
- */* does not match text/* HOT 5
- Ability to add additional types
- Something better than req.accepts('json') && !req.accepts('html') ?? HOT 10
- possibility to get region from accept language HOT 4
- Add support for type parameters
- Cannot find module negotiator HOT 3
- Can we make this library more abstract?
- Accept types always validating HOT 2
- docs HOT 3
- Change to mime-types causes crash HOT 2
- RangeError: Maximum call stack size exceeded HOT 4
- Doc typo `req` => `res` HOT 1
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 accepts.