server.dart 867 B

1234567891011121314151617181920212223242526272829303132
  1. import 'package:icalserver/basic_auth_middleware.dart';
  2. import 'package:icalserver/calendar_handler.dart';
  3. import 'package:shelf/shelf.dart';
  4. import 'package:shelf/shelf_io.dart' as io;
  5. import 'package:shelf_router/shelf_router.dart';
  6. void main() async {
  7. // Create a router
  8. var router = Router();
  9. // Define a route
  10. router.get('/link', (Request request) async {
  11. return CalendarHandler().getCalendar(request);
  12. });
  13. // Wrap the router with middleware
  14. var pipeline = Pipeline()
  15. .addMiddleware(logRequests())
  16. .addMiddleware(
  17. basicAuthMiddleware(
  18. username: 'admin',
  19. password: 'secret123',
  20. realm: 'My Secure API',
  21. ),
  22. )
  23. .addHandler(router.call);
  24. // Start the server
  25. var server = await io.serve(pipeline, '0.0.0.0', 8080);
  26. print('Server running on localhost:${server.port}');
  27. }