-
Notifications
You must be signed in to change notification settings - Fork 106
Open
Description
When accept-encoding is gzip, we need to set the content-type to text/plain.
this.response.set('Content-Encoding', 'gzip');
this.response.body = yield gzip('hello world');The above code would fail the test because, when content-enconding is gzip, the default content-type is application/octet-stream.
Adding the content-type assignment would solve the problem.
this.response.set('Content-Encoding', 'gzip');
this.response.set('content-type', 'text/plain');
this.response.body = yield gzip('hello world');It takes me a lot time to understand what this chapter is focusing on.
Here is one solution in case anyone need.
app.use(function* () {
const ae = this.request.acceptsEncodings('gzip', 'identity');
switch (ae) {
case 'gzip':
this.response.set('Content-Encoding', 'gzip');
this.response.set('content-type', 'text/plain');
this.response.body = yield gzip('hello world');
break;
case 'identity':
this.response.set('Content-Encoding', 'identity');
this.response.body = 'hello world';
break;
default:
break;
}
});Metadata
Metadata
Assignees
Labels
No labels