4/// Called before your application initializes.
5public func configure(_ config: inout Config, _ env: inout Environment, _ services: inout Services) throws {
6 /// Register providers first
7 try services.register(FluentSQLiteProvider())
9 /// Register routes to the router
10 let router = EngineRouter.default()
12 services.register(router, as: Router.self)
14 /// Register middleware
15 var middlewares = MiddlewareConfig() // Create _empty_ middleware config
16 /// middlewares.use(FileMiddleware.self) // Serves files from `Public/` directory
17 middlewares.use(ErrorMiddleware.self) // Catches errors and converts to HTTP response
18 services.register(middlewares)
20 // Configure a SQLite database
21 let sqlite = try SQLiteDatabase(storage: .memory)
23 /// Register the configured SQLite database to the database config.
24 var databases = DatabasesConfig()
25 databases.add(database: sqlite, as: .sqlite)
26 services.register(databases)
28 /// Configure migrations
29 var migrations = MigrationConfig()
30 migrations.add(model: Todo.self, database: .sqlite)
31 services.register(migrations)
33 let ws = NIOWebSocketServer.default()
35 ws.get("test") { (ws, req) in
36 ws.onText({ (ws, text) in
37 ws.send("\(text) pong")
41 ws.get("postUpdates", Int.parameter) { (ws, req) in
42 let i = OpenSockets.insert(ws)
44 OpenSockets.remove(at: i)
46 let update = EventResponse(token: try! req.parameters.next(Int.self))
47 ws.send(try! enc.encode(update))
50 ws.get("postUpdates") { (ws, req) in
51 let i = OpenSockets.insert(ws)
53 OpenSockets.remove(at: i)
55 let update = EventResponse(token: nil)
56 ws.send(try! enc.encode(update))
59 services.register(ws, as: WebSocketServer.self)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list