spark_rest 0.3.1 copy "spark_rest: ^0.3.1" to clipboard
spark_rest: ^0.3.1 copied to clipboard

A blazing-fast, single instance, sessionless RESTful API for Dart

example/main.dart

import 'dart:io';

import 'package:spark_rest/spark_rest.dart';

class RootEndpoint extends Endpoint {
  RootEndpoint()
      : super(
          uri: '/',
          method: Method.get,
        );

  @override
  Future<Response> onHandle(Request request) async {
    return Response(
      request: request,
      statusCode: 200,
      headers: {},
      contentType: ContentType.text,
      body: request.container['Test'] ?? 'No var',
    );
  }
}

class TestEndpoint extends Endpoint {
  TestEndpoint()
      : super(
          uri: '/test',
          method: Method.get,
        );

  @override
  Future<Response> onHandle(Request request) async {
    return Response(
      request: request,
      statusCode: 200,
      headers: {},
      contentType: ContentType.text,
      body: request.container['Test'] ?? 'No var',
    );
  }
}

class MyRequestMiddleware extends Middleware<Request> {
  @override
  Future<void> onInit(Context context) async {
    print(MethodRouter.of(context, '/test'));
    print(context.findObjectOfType<int>());
  }

  @override
  Future<Request> onHandle(Request request) async {
    request.container['Test'] = 'Test';
    return request;
  }

  @override
  bool Function(String uri, Method method) get attachTo =>
      (uri, method) => uri == '/';
}

class MyPlugin extends Plugin {
  @override
  Iterable<Middleware<Request>> get requestMiddlewares =>
      [MyRequestMiddleware()];
}

Future main() => boot(
    application: Application(
        requestMiddlewares: [],
        endpoints: [RootEndpoint(), TestEndpoint()],
        plugins: [MyPlugin()],
        environmentalVariables: [1]));
1
likes
130
pub points
0%
popularity

Publisher

unverified uploader

A blazing-fast, single instance, sessionless RESTful API for Dart

Repository (GitHub)
View/report issues

Documentation

API reference

License

GPL-3.0 (LICENSE)

More

Packages that depend on spark_rest