SimulatedResponse constructor
Constructor
Implementation
SimulatedResponse(_CoreResponseSimulated core, String sessionCookieName) {
_status = core.status;
contentType = core.headers.contentType;
// Copy cookies from core's cookies (omitting any session cookie)
assert(sessionId == null);
for (var c in core.cookies) {
if (c.name == sessionCookieName) {
// Session cookie: do not copy it
if (c.value.isNotEmpty &&
(c.maxAge == null || 0 < c.maxAge) &&
(c.expires == null || 1970 < c.expires.year)) {
// Is setting the session cookie (not deleting it): set the session
assert(sessionId == null);
sessionId = c.value;
} else {
// Not the session cookie: copy it
cookieAdd(c);
}
}
}
// Copy headers from core's headers
core.headers.forEach((name, values) {
for (var v in values) {
headerAdd(name, v);
}
});
// Set the body using one of (but not both) string or bytes
assert(!(core.bodyStr != null && core.bodyBytes != null), 'both set');
_bodyStr = core.bodyStr;
_bodyBytes = core.bodyBytes;
}