server.dart 831 B

12345678910111213141516171819202122232425262728293031
  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(
  16. basicAuthMiddleware(
  17. username: 'admin',
  18. password: 'secret123',
  19. realm: 'My Secure API',
  20. ),
  21. )
  22. .addHandler(router.call);
  23. // Start the server
  24. var server = await io.serve(pipeline, '0.0.0.0', 8080);
  25. print('Server running on localhost:${server.port}');
  26. }