Skip to content

Commit b604b4e

Browse files
committed
Expose EnvironmentValues accessors
... for various environment keys.
1 parent 8124b98 commit b604b4e

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

Sources/express/BasicAuth.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
// Macro
44
//
55
// Created by Helge Heß on 6/3/16.
6-
// Copyright © 2020-2023 ZeeZide GmbH. All rights reserved.
6+
// Copyright © 2020-2025 ZeeZide GmbH. All rights reserved.
77
//
88

99
#if canImport(Foundation)
1010
import Foundation
1111
#endif
1212
import http
1313
import protocol MacroCore.EnvironmentKey
14+
import struct MacroCore.EnvironmentValues
1415

1516
public enum BasicAuthModule {}
1617
public typealias expressBasicAuth = BasicAuthModule
@@ -245,6 +246,14 @@ private enum BasicAuthUserKey: EnvironmentKey {
245246
static let loggingKey = "user"
246247
}
247248

249+
public extension EnvironmentValues {
250+
251+
var authenticatedBasicAuthUser : String {
252+
get { return self[BasicAuthUserKey.self] }
253+
set { return self[BasicAuthUserKey.self] = newValue }
254+
}
255+
}
256+
248257
public extension IncomingMessage {
249258

250259
/**

Sources/express/Express.swift

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import struct Logging.Logger
1010
import enum MacroCore.process
1111
import enum MacroCore.EventListenerSet
1212
import protocol MacroCore.EnvironmentKey
13+
import struct MacroCore.EnvironmentValues
1314
import class http.IncomingMessage
1415
import class http.ServerResponse
1516

@@ -357,6 +358,39 @@ enum ExpressExtKey {
357358
}
358359
}
359360

361+
public extension EnvironmentValues {
362+
363+
var app: Express? {
364+
get { self[ExpressExtKey.App.self] }
365+
set { self[ExpressExtKey.App.self] = newValue }
366+
}
367+
var request: IncomingMessage? {
368+
get { self[ExpressExtKey.RequestKey.self] }
369+
set { self[ExpressExtKey.RequestKey.self] = newValue }
370+
}
371+
var route: Route? {
372+
get { self[ExpressExtKey.RouteKey.self] }
373+
set { self[ExpressExtKey.RouteKey.self] = newValue }
374+
}
375+
var baseURL: String? {
376+
get { self[ExpressExtKey.BaseURL.self] }
377+
set { self[ExpressExtKey.BaseURL.self] = newValue }
378+
}
379+
var params: IncomingMessage.Params {
380+
get { self[ExpressExtKey.Params.self] }
381+
set { self[ExpressExtKey.Params.self] = newValue }
382+
}
383+
var query: IncomingMessage.Query? {
384+
get { self[ExpressExtKey.Query.self] }
385+
set { self[ExpressExtKey.Query.self] = newValue }
386+
}
387+
var locals: ServerResponse.Locals {
388+
get { self[ExpressExtKey.Locals.self] }
389+
set { self[ExpressExtKey.Locals.self] = newValue }
390+
}
391+
}
392+
393+
360394
// MARK: - App access helper
361395

362396
public extension Dictionary where Key : ExpressibleByStringLiteral {

0 commit comments

Comments
 (0)