handleCall method

  1. @override
Future<bool> handleCall(
  1. Session session,
  2. HttpRequest request
)
inherited

Handles a call to this route. This method is repsonsible for setting a correct response headers, status code, and write the response body to request.response.

Implementation

@override
Future<bool> handleCall(Session session, HttpRequest request) async {
  var widget = await build(session, request);

  if (widget is WidgetJson) {
    request.response.headers.contentType = ContentType('application', 'json');
  } else if (widget is WidgetRedirect) {
    var uri = Uri.parse(widget.url);
    await request.response.redirect(uri);
    return true;
  }

  request.response.write(widget.toString());
  return true;
}