66//
77
88public struct Response : Codable , Sendable {
9+ public enum Encoding : String , Codable , Sendable {
10+ case base64
11+ }
12+
913 public var statusCode : HTTPResponseStatus
1014 public var headers : HTTPHeaders ?
1115 public var body : String ?
12- public var isBase64Encoded : Bool ?
16+ public var encoding : Encoding ?
1317 public var cookies : [ String ] ?
1418
1519 public var didSend : Bool {
@@ -20,28 +24,28 @@ public struct Response: Codable, Sendable {
2024 statusCode: HTTPResponseStatus = . ok,
2125 headers: HTTPHeaders ? = nil ,
2226 body: String ? = nil ,
23- isBase64Encoded : Bool ? = nil ,
27+ encoding : Encoding ? = nil ,
2428 cookies: [ String ] ? = nil
2529 ) {
2630 self . statusCode = statusCode
2731 self . headers = headers
2832 self . body = body
29- self . isBase64Encoded = isBase64Encoded
33+ self . encoding = encoding
3034 self . cookies = cookies
3135 }
3236
3337 public func with(
3438 statusCode: HTTPResponseStatus ? = nil ,
3539 headers: HTTPHeaders ? = nil ,
3640 body: String ? = nil ,
37- isBase64Encoded : Bool ? = nil ,
41+ encoding : Encoding ? = nil ,
3842 cookies: [ String ] ? = nil
3943 ) -> Self {
4044 return . init(
4145 statusCode: statusCode ?? self . statusCode,
4246 headers: headers ?? self . headers,
4347 body: body ?? self . body,
44- isBase64Encoded : isBase64Encoded ?? self . isBase64Encoded ,
48+ encoding : encoding ?? self . encoding ,
4549 cookies: cookies ?? self . cookies
4650 )
4751 }
@@ -124,11 +128,11 @@ extension Response {
124128 }
125129
126130 public func send( _ data: Data ) -> Self {
127- return with ( body: data. base64EncodedString ( ) , isBase64Encoded : true )
131+ return with ( body: data. base64EncodedString ( ) , encoding : . base64 )
128132 }
129133
130134 public func send( _ bytes: [ UInt8 ] ) -> Self {
131- return with ( body: Data ( bytes) . base64EncodedString ( ) , isBase64Encoded : true )
135+ return with ( body: Data ( bytes) . base64EncodedString ( ) , encoding : . base64 )
132136 }
133137
134138 public func send< T> (
0 commit comments