text method

HttpResponse text([
  1. dynamic data
])

Sends plain text response.

Implementation

HttpResponse text([dynamic data]) {
  response.headers.contentType = ContentType.html;
  response.headers.set(
    HttpHeaders.cacheControlHeader,
    'public, max-age=300, must-revalidate',
  );
  response.headers.set(HttpHeaders.varyHeader, 'Accept-Encoding');

  // --- Security headers ---
  response.headers.set('X-Content-Type-Options', 'nosniff');
  response.headers.set('X-Frame-Options', 'SAMEORIGIN');
  response.headers.set('Referrer-Policy', 'strict-origin-when-cross-origin');
  response.headers.set('X-XSS-Protection', '1; mode=block');

  final cookie = Cookie('archery_csrf_token', App.generateKey())
    ..httpOnly = true
    ..secure = true
    ..sameSite = SameSite.lax;

  response.headers.contentType = ContentType.text;
  return response
    ..statusCode = HttpStatus.ok
    ..cookies.add(cookie)
    ..write(data)
    ..close();
}