import { Response } from "https://deno.land/x/opine@2.2.0/src/response.ts";
OpineResponse class.
Properties
Methods
Add a resource ID to the list of resources to be closed after the .end() method has been called.
Append additional header field
with value val
.
Value can be either a string
or an array of string
.
Example:
res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly'); res.append('Warning', '199 Miscellaneous warning'); res.append("cache-control", ["public", "max-age=604800", "immutable"]);
Set Content-Disposition header to attachment with optional filename
.
Clear a cookie.
Set a cookie. Sets the cookie path to "/" if not defined.
Examples:
// "Remember Me" for 15 minutes res.cookie({ name: "rememberme", value: "1", expires: new Date(Date.now() + 900000), httpOnly: true });
Transfer the file at the given path
as an attachment.
Optionally providing an alternate attachment filename
.
Optionally providing an options
object to use with res.sendFile()
.
This function will set the Content-Disposition
header, overriding
any existing Content-Disposition
header in order to set the attachment
and filename.
This method uses res.sendFile()
.
Ends the response process.
Sets an ETag header.
Respond to the Acceptable formats using an obj
of mime-type callbacks.
This method uses req.accepted
, an array of
acceptable types ordered by their quality values.
When "Accept" is not present the first callback
is invoked, otherwise the first match is used. When
no match is performed the server responds with
406 "Not Acceptable".
Content-Type is set for you, however if you choose
you may alter this within the callback using res.type()
or res.set('Content-Type', ...)
.
res.format({ 'text/plain': function(){ res.send('hey'); },
'text/html': function(){
res.send('<p>hey</p>');
},
'application/json': function(){
res.send({ message: 'hey' });
}
});
In addition to canonicalized MIME types you may also use extnames mapped to these types:
res.format({ text: function(){ res.send('hey'); },
html: function(){
res.send('<p>hey</p>');
},
json: function(){
res.send({ message: 'hey' });
}
});
By default Express passes an Error
with a .status
of 406 to next(err)
if a match is not made. If you provide
a .default
callback it will be invoked
instead.
Get value for header field
.
Send JSON response.
Examples:
res.json(null);
res.json({ user: 'deno' });
Send JSON response with JSONP callback support.
Examples:
res.jsonp(null);
res.jsonp({ user: 'deno' });
Set Link header field with the given links
.
Examples:
res.links({ next: 'http://api.example.com/users?page=2', last: 'http://api.example.com/users?page=5' });
Set the location header to url
.
The given url
can also be "back", which redirects
to the Referrer or Referer headers or "/".
Examples:
res.location('/foo/bar').; res.location('http://example.com'); res.location('../login');
Redirect to the given url
with optional response status
defaulting to 302
.
The resulting url
is determined by res.location()
.
Examples:
res.redirect('/foo/bar'); res.redirect('http://example.com'); res.redirect(301, 'http://example.com'); res.redirect('../login'); // /blog/post/1 -> /blog/login
Remove a header from the response
Examples:
res.removeHeader('Accept');
Render view
with the given options
and optional callback fn
.
When a callback function is given a response will not be made
automatically, otherwise a response of 200 and text/html is given.
Options:
cache
boolean hinting to the engine it should cachefilename
filename of the view being rendered
Send a response.
Examples:
res.send({ some: 'json' });
res.send('<p>some html</p>');
Transfer the file at the given path
.
Automatically sets the Content-Type response header field.
Send given HTTP status code.
Sets the response status to code
and the body of the
response to the standard description from deno's http_status.STATUS_TEXT
or the code number if no description.
Examples:
res.sendStatus(200);
Set header field
to value
, or pass
an object of header fields.
Examples:
res.set('Accept', 'application/json');
res.set({
'Accept-Language': 'en-US, en;q=0.5',
'Accept': 'text/html',
});
Set header field
to value
, or pass
an object of header fields.
alias for res.set()
Examples:
res.setHeader('Accept', 'application/json');
res.setHeader({
'Accept-Language': "en-US, en;q=0.5",
'Accept': 'text/html',
});
Set status code
.
This method deviates from Express due to the naming clash
with Deno.OpineResponse status
property.
Set Content-Type response header with type
.
Examples:
res.type('.html');
res.type('html');
res.type('json');
res.type('application/json');
res.type('png');
Deletes a header.
Add field
to Vary. If already present in the Vary set, then
this call is simply ignored.