quds_server 1.0.2+2 copy "quds_server: ^1.0.2+2" to clipboard
quds_server: ^1.0.2+2 copied to clipboard

A core server for creating fast dart servers with support of routers, controllers, middlewares.

example/quds_server_example.dart

import 'dart:math';

import 'package:quds_server/quds_server.dart';
import 'package:web_socket_channel/web_socket_channel.dart';
// import 'cli_commands/some_command.dart';
import 'example_router.dart';

late QudsServer server;
void main() {
  server = QudsServer(
      // cliCommands: [SomeCommand()],
      appName: 'Example App',
      configurations: ServerConfigurations(
          // securityContext: SecurityContext.defaultContext,
          port: 2028,
          webSocketPort: 2211,
          enableAuthorization: false,
          secretKey: 'asadl-ad3234-1312-1232ed-asd'),
      validateUserWebSocket: validateUserSockets,
      routers: [ExampleRouter()]);

  server.start();

  serverDefaultJsonEncoder = encodeJson;
}

Future<int?> validateUserSockets(
    WebSocketChannel ws, Map<String, String> headers) async {
  //Check user

  // Return some random user
  return Random().nextInt(1000);
}

Object? encodeJson(Object? obj) {
  if (obj is DateTime) return obj.toString();

  return obj;
}