Closed bottlehall closed 4 years ago
@bottlehall I was unable to recreate this in a test case (see linked commit above). Try updating to the latest version of Vapor using swift package update
. Feel free to re-open if there's something I'm missing, thanks.
I ran
swift package update
and got this output:
Updating https://github.com/vapor/leaf.git Updating https://github.com/vapor/vapor.git Updating https://github.com/vapor/leaf-kit.git Updating https://github.com/apple/swift-nio.git Updating https://github.com/vapor/websocket-kit.git Updating https://github.com/swift-server/async-http-client.git Updating https://github.com/swift-server/swift-backtrace.git Updating https://github.com/apple/swift-nio-extras.git Updating https://github.com/vapor/async-kit.git Updating https://github.com/apple/swift-metrics.git Updating https://github.com/vapor/console-kit.git Updating https://github.com/apple/swift-crypto.git Updating https://github.com/apple/swift-nio-http2.git Updating https://github.com/vapor/routing-kit.git Updating https://github.com/apple/swift-nio-ssl.git Updating https://github.com/apple/swift-log.git Resolving https://github.com/vapor/websocket-kit.git at 2.1.0 Resolving https://github.com/apple/swift-nio.git at 2.16.1 Resolving https://github.com/apple/swift-nio-extras.git at 1.4.1 Resolving https://github.com/vapor/vapor.git at 4.5.1
I then ran:
swift build
and started server with both:
swift run
and
vapor-beta run
Using both methods, the running server continued to return nil
from the decode. Would a zip of the project source help?
Is my Package.swift
correct?
// swift-tools-version:5.2
import PackageDescription
let package = Package(
name: "form",
platforms: [
.macOS(.v10_15)
],
dependencies: [
// 💧 A server-side Swift web framework.
.package(url: "https://github.com/vapor/leaf.git", from: "4.0.0-rc"),
.package(url: "https://github.com/vapor/vapor.git", from: "4.0.0-rc")
],
targets: [
.target(name: "App", dependencies: [
.product(name: "Leaf", package: "leaf"),
.product(name: "Vapor", package: "vapor")
]),
.target(name: "Run", dependencies: ["App"]),
.testTarget(name: "AppTests", dependencies: [
.target(name: "App"),
.product(name: "XCTVapor", package: "vapor"),
])
]
)
Hi
I’ve added some comments. I don’t have the power to re-open - as far as I can see.
Thanks
Nick
On 6 May 2020, at 16:13, Tanner notifications@github.com wrote:
Closed #2338 https://github.com/vapor/vapor/issues/2338.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/vapor/vapor/issues/2338#event-3308974387, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABK5DRJHTH6IWRWWALVLDDDRQF5CTANCNFSM4MTBWNWA.
Could you share the actual HTTP request being sent to the Vapor application? One way to get this is adding the following to the start of your route handler:
debugPrint(req)
This is what I get:
POST /decode HTTP/1.1 Host: localhost:8080 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: en-gb Content-Type: application/x-www-form-urlencoded Origin: http://localhost:8080 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15 Connection: keep-alive Upgrade-Insecure-Requests: 1 Referer: http://localhost:8080/ Content-Length: 29 Cookie: vapor-session=+zk8DS7GfVenSdgx1AGiPPemkOGT/n3ZRGSSIaC9Hy0=
Hmm, that's missing the request body which is the key part I'm looking for here.
If I put debugPrint(req.body)
instead, I get:
[ INFO ] GET /
[ INFO ] POST /decode
(lldb) print req.body
(Vapor.Request.Body) $R0 = {
request = 0x0000000101e0d810 {
application = 0x0000000101e088e0 {
environment = {
name = "development"
arguments = 1 value {
[0] = "/Users/npr/Library/Developer/Xcode/DerivedData/form-eqgrkznluazrkwbdgoiqjbhmqtrr/Build/Products/Debug/Run"
}
}
eventLoopGroupProvider = createNew
eventLoopGroup = 0x0000000101e08e40 {
myGroupID = 0
index = 0x0000000101e08f90 {}
eventLoops = 4 values {
[0] = 0x0000000101e09d90 {
_selector = 0x0000000101e09840 {
lifecycleState = open
eventsCapacity = 64
events = 0x000000010480a200
registrations = 0 key/value pairs {}
deregistrationsHappened = false
externalSelectorFDLock = 0x0000000101e09520 (mutex = 0x0000000101e09890)
selectorFD = 3
myThread = 0x0000000101e098d0 {
desiredName = nil
handle = 0x0000700003929000
}
}
thread = 0x0000000101e09810 {
desiredName = "NIO-ELT-0-#0"
handle = 0x0000700003929000
}
_scheduledTasks = {
_heap = {
type = minHeap
storage = {
_buffer = {
_storage = 0 values {}
}
}
comparator = 0x000000010013c290 Run`partial apply forwarder for dispatch thunk of static Swift.Comparable.< infix(A, A) -> Swift.Bool at <compiler-generated>
}
}
tasksCopy = {
_buffer = {
_storage = 0 values {}
}
}
_tasksLock = 0x0000000101e0a060 (mutex = 0x0000000101e0a080)
_externalStateLock = 0x0000000101e0a0c0 (mutex = 0x0000000101e0a0e0)
internalState = runningAndAcceptingNewRegistrations
externalState = open
_iovecs = 0x000000010480aa00
_storageRefs = 0x000000010480ea00
iovecs = (_position = 0x000000010480aa00, count = 1024)
storageRefs = (_position = 0x000000010480ea00, count = 1024)
_msgs = 0x0000000101cdb000
_addresses = 0x0000000101f40000
msgs = (_position = 0x0000000101cdb000, count = 1024)
addresses = (_position = 0x0000000101f40000, count = 1024)
promiseCreationStoreLock = 0x0000000101e0a120 (mutex = 0x0000000101e0a140)
_promiseCreationStore = 1 key/value pair {
[0] = {
key = 7450172653
value = (file = "/Users/npr/Library/Developer/Xcode/DerivedData/form-eqgrkznluazrkwbdgoiqjbhmqtrr/SourcePackages/checkouts/vapor/Sources/Vapor/Commands/ServeCommand.swift", line = 52)
}
}
}
[1] = 0x0000000101d258b0 {
_selector = 0x0000000101d062e0 {
lifecycleState = open
eventsCapacity = 64
events = 0x000000010200d400
registrations = 1 key/value pair {
[0] = {
key = 9
value = socketChannel {
socketChannel = {
0 = 0x4000000101e0beb0 {
NIO.BaseStreamSocketChannel = {
NIO.BaseSocketChannel = {
parent = 0x0000000101d2f390 {
NIO.BaseSocketChannel = {
parent = nil
socket = 0x0000000101d2f370 {
NIO.BaseSocket = {
descriptor = 8
}
}
closePromise = {
futureResult = 0x0000000101d2f8a0 {
_value = nil
eventLoop = 0x0000000101d26240 {
_selector = 0x0000000101d26180 {
lifecycleState = open
eventsCapacity = 64
events = 0x0000000102020800
registrations = 1 key/value pair {
[0] = {
key = 8
value = serverSocketChannel {
serverSocketChannel = {
0 = 0x0000000101d2f390 {...}
1 = (rawValue = 7)
}
}
}
}
deregistrationsHappened = false
externalSelectorFDLock = 0x0000000101d26130 (mutex = 0x0000000101d261d0)
selectorFD = 6
myThread = 0x0000000101d26210 {
desiredName = nil
handle = 0x0000700003ab2000
}
}
thread = 0x0000000101d26150 {
desiredName = "NIO-ELT-0-#3"
handle = 0x0000700003ab2000
}
_scheduledTasks = {
_heap = {
type = minHeap
storage = {
_buffer = {
_storage = 0 values {}
}
}
comparator = 0x000000010013c290 Run`partial apply forwarder for dispatch thunk of static Swift.Comparable.< infix(A, A) -> Swift.Bool at <compiler-generated>
}
}
tasksCopy = {
_buffer = {
_storage = 0 values {}
}
}
_tasksLock = 0x0000000101d26340 (mutex = 0x0000000101d26360)
_externalStateLock = 0x0000000101d263a0 (mutex = 0x0000000101d263c0)
internalState = runningAndAcceptingNewRegistrations
externalState = open
_iovecs = 0x0000000102021000
_storageRefs = 0x0000000102025000
iovecs = (_position = 0x0000000102021000, count = 1024)
storageRefs = (_position = 0x0000000102025000, count = 1024)
_msgs = 0x0000000101fde000
_addresses = 0x0000000103200000
msgs = (_position = 0x0000000101fde000, count = 1024)
addresses = (_position = 0x0000000103200000, count = 1024)
promiseCreationStoreLock = 0x0000000101d26400 (mutex = 0x0000000101d26420)
_promiseCreationStore = 1 key/value pair {
[0] = {
key = 7495693053
value = (file = "/Users/npr/Library/Developer/Xcode/DerivedData/form-eqgrkznluazrkwbdgoiqjbhmqtrr/SourcePackages/checkouts/swift-nio/Sources/NIO/BaseSocketChannel.swift", line = 445)
}
}
}
_callbacks = {
firstCallback = nil
furtherCallbacks = nil
}
}
}
selectableEventLoop = 0x0000000101d26240 {...}
_offEventLoopLock = 0x0000000101d2f570 (mutex = 0x0000000101d2eb00)
isActiveAtomic = 0x0000000101d2f600 {}
socketDescription = "BaseSocket { fd=8 }"
readPending = true
pendingConnect = nil
recvAllocator = {
minIndex = 3
maxIndex = 38
minimum = 64
maximum = 65536
initial = 1024
index = 32
nextReceiveBufferSize = 1024
decreaseNow = false
}
maxMessagesPerRead = 4
inFlushNow = false
autoRead = true
_pipeline = 0x0000000101d2fb40 {
head = 0x0000000101d2fa80 {
next = 0x000000010314ed10 {
next = 0x0000000103149fc0 {
next = 0x0000000101d2fd70 {
next = nil
prev = 0x0000000103149fc0 {...}
pipeline = 0x0000000101d2fb40 {...}
name = "tail"
inboundHandler = 0x0000000101d2eb40
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x000000010314ed10 {...}
pipeline = 0x0000000101d2fb40 {...}
name = "AcceptHandler"
inboundHandler = 0x0000000103149f40 {
childChannelInit = 0x00000001002b5dd0 Run`partial apply forwarder for closure #2 (NIO.Channel) -> NIO.EventLoopFuture<()> in static Vapor.(HTTPServerConnection in _1A326A4C8972E7AA192E4DD7599C3E6D).start(application: Vapor.Application, responder: Vapor.Responder, configuration: Vapor.HTTPServer.Configuration, on: NIO.EventLoopGroup) -> NIO.EventLoopFuture<Vapor.(HTTPServerConnection in _1A326A4C8972E7AA192E4DD7599C3E6D)> at <compiler-generated>
childChannelOptions = {
_storage = 3 values {
[0] = {
0 = (level = 6, name = 1)
1 = {
0 = 1
1 = 0x00000001000c3530 Run`reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed NIO.Channel) -> (@owned @escaping @callee_guaranteed (@in_guaranteed Any, @in_guaranteed Any) -> (@owned NIO.EventLoopFuture<()>)) to @escaping @callee_guaranteed (@in_guaranteed NIO.Channel) -> (@out @escaping @callee_guaranteed (@in_guaranteed Any, @in_guaranteed Any) -> (@out NIO.EventLoopFuture<()>))partial apply forwarder with unmangled suffix ".32" at <compiler-generated>
}
}
[1] = {
0 = (level = 65535, name = 4)
1 = {
0 = 1
1 = 0x00000001000c3530 Run`reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed NIO.Channel) -> (@owned @escaping @callee_guaranteed (@in_guaranteed Any, @in_guaranteed Any) -> (@owned NIO.EventLoopFuture<()>)) to @escaping @callee_guaranteed (@in_guaranteed NIO.Channel) -> (@out @escaping @callee_guaranteed (@in_guaranteed Any, @in_guaranteed Any) -> (@out NIO.EventLoopFuture<()>))partial apply forwarder with unmangled suffix ".32" at <compiler-generated>
}
}
[2] = {
0 = {}
1 = {
0 = 1
1 = 0x00000001000c1f30 Run`partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed NIO.Channel) -> (@owned @escaping @callee_guaranteed (@in_guaranteed Any, @in_guaranteed Any) -> (@owned NIO.EventLoopFuture<()>)) to @escaping @callee_guaranteed (@in_guaranteed NIO.Channel) -> (@out @escaping @callee_guaranteed (@in_guaranteed Any, @in_guaranteed Any) -> (@out NIO.EventLoopFuture<()>)) at <compiler-generated>
}
}
}
}
}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101d2fa80 {...}
pipeline = 0x0000000101d2fb40 {...}
name = "handler0"
inboundHandler = 0x000000010314eca0 {
channelCollector = 0x000000010314eaa0 {
openChannels = 2 key/value pairs {
[0] = {
key = (_value = 0x0000000101e0beb0)
value = 0x0000000101e0beb0 {
NIO.BaseStreamSocketChannel = {
NIO.BaseSocketChannel = {
parent = 0x0000000101d2f390 {...}
socket = 0x0000000101e0baf0 {
NIO.BaseSocket = {
descriptor = 9
}
}
closePromise = {
futureResult = 0x0000000101e0c420 {
_value = nil
eventLoop = 0x0000000101d258b0 {...}
_callbacks = {
firstCallback = 0x000000010011db10 Run`partial apply forwarder for closure #1 () -> NIO.CallbackList in NIO.EventLoopFuture.whenComplete((Swift.Result<A, Swift.Error>) -> ()) -> () at <compiler-generated>
furtherCallbacks = nil
}
}
}
selectableEventLoop = 0x0000000101d258b0 {...}
_offEventLoopLock = 0x0000000101e0c380 (mutex = 0x0000000101e0c3a0)
isActiveAtomic = 0x0000000101e0c3e0 {}
socketDescription = "BaseSocket { fd=9 }"
readPending = false
pendingConnect = nil
recvAllocator = {
minIndex = 3
maxIndex = 38
minimum = 64
maximum = 65536
initial = 1024
index = 35
nextReceiveBufferSize = 8192
decreaseNow = true
}
maxMessagesPerRead = 1
inFlushNow = false
autoRead = true
_pipeline = 0x0000000101e0c510 {
head = 0x0000000101e0c560 {
next = 0x0000000101d319c0 {
next = 0x0000000101d31ad0 {
next = 0x0000000101d31e00 {
next = 0x0000000101d31f10 {
next = 0x0000000101d32020 {
next = 0x0000000101d32130 {
next = 0x0000000101d300a0 {
next = 0x0000000101e0c5c0 {
next = nil
prev = 0x0000000101d300a0 {...}
pipeline = 0x0000000101e0c510 {...}
name = "tail"
inboundHandler = 0x0000000101d2eb40 {...}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101d32130 {...}
pipeline = 0x0000000101e0c510 {...}
name = "handler6"
inboundHandler = 0x0000000101d31db0 {
logger = {
handler = {
label = "codes.vapor.application"
metadata = 0 key/value pairs {}
logLevel = info
console = 0x0000000101e08700 {
userInfo = 0 key/value pairs {}
}
}
label = "codes.vapor.application"
}
}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101d32020 {...}
pipeline = 0x0000000101e0c510 {...}
name = "handler5"
inboundHandler = 0x0000000101d31480 {
responder = {
router = 0x0000000101d29a60 {
options = 0 values {}
root = 0x0000000101d2beb0 {
constants = 2 key/value pairs {
[0] = {
key = "GET"
value = 0x0000000101d2c4c0 {
constants = 1 key/value pair {
[0] = {
key = "decode"
value = 0x0000000101d2c720 {
constants = 0 key/value pairs {}
parameter = nil
catchall = nil
anything = nil
output = some {
route = 0x0000000101d2aa40 {
method = GET
path = 1 value {
[0] = constant (constant = "decode")
}
responder = (closure = 0x0000000100311920 Run`partial apply forwarder for closure #1 (Vapor.Request) throws -> NIO.EventLoopFuture<Vapor.Response> in (extension in Vapor):Vapor.RoutesBuilder.on<A where A1: Vapor.ResponseEncodable>(_: NIOHTTP1.HTTPMethod, _: Swift.Array<RoutingKit.PathComponent>, body: Vapor.HTTPBodyStreamStrategy, use: (Vapor.Request) throws -> A1) -> Vapor.Route at <compiler-generated>)
requestType = Vapor.Request
responseType = String
userInfo = 0 key/value pairs {}
}
responder = {
middleware = 0x0000000101d2b9e0 (closure = 0x00000001002cc940 Run`partial apply forwarder for closure #1 (Vapor.Request, Swift.Error) -> Vapor.Response in static Vapor.ErrorMiddleware.default(environment: Vapor.Environment) -> Vapor.ErrorMiddleware at <compiler-generated>)
responder = (closure = 0x0000000100311920 Run`partial apply forwarder for closure #1 (Vapor.Request) throws -> NIO.EventLoopFuture<Vapor.Response> in (extension in Vapor):Vapor.RoutesBuilder.on<A where A1: Vapor.ResponseEncodable>(_: NIOHTTP1.HTTPMethod, _: Swift.Array<RoutingKit.PathComponent>, body: Vapor.HTTPBodyStreamStrategy, use: (Vapor.Request) throws -> A1) -> Vapor.Route at <compiler-generated>)
}
}
}
}
}
parameter = nil
catchall = nil
anything = nil
output = some {
route = 0x0000000101d293f0 {
method = GET
path = 0 values {}
responder = (closure = 0x0000000100311920 Run`partial apply forwarder for closure #1 (Vapor.Request) throws -> NIO.EventLoopFuture<Vapor.Response> in (extension in Vapor):Vapor.RoutesBuilder.on<A where A1: Vapor.ResponseEncodable>(_: NIOHTTP1.HTTPMethod, _: Swift.Array<RoutingKit.PathComponent>, body: Vapor.HTTPBodyStreamStrategy, use: (Vapor.Request) throws -> A1) -> Vapor.Route at <compiler-generated>)
requestType = Vapor.Request
responseType = NIO.EventLoopFuture<Vapor.View>
userInfo = 0 key/value pairs {}
}
responder = {
middleware = 0x0000000101d2b9e0 {...}
responder = (closure = 0x0000000100311920 Run`partial apply forwarder for closure #1 (Vapor.Request) throws -> NIO.EventLoopFuture<Vapor.Response> in (extension in Vapor):Vapor.RoutesBuilder.on<A where A1: Vapor.ResponseEncodable>(_: NIOHTTP1.HTTPMethod, _: Swift.Array<RoutingKit.PathComponent>, body: Vapor.HTTPBodyStreamStrategy, use: (Vapor.Request) throws -> A1) -> Vapor.Route at <compiler-generated>)
}
}
}
}
[1] = {
key = "POST"
value = 0x0000000101d2c950 {
constants = 1 key/value pair {
[0] = {
key = "decode"
value = 0x0000000101d2c5b0 {
constants = 0 key/value pairs {}
parameter = nil
catchall = nil
anything = nil
output = some {
route = 0x0000000101d2ab60 {
method = POST
path = 1 value {
[0] = constant (constant = "decode")
}
responder = (closure = 0x0000000100311920 Run`partial apply forwarder for closure #1 (Vapor.Request) throws -> NIO.EventLoopFuture<Vapor.Response> in (extension in Vapor):Vapor.RoutesBuilder.on<A where A1: Vapor.ResponseEncodable>(_: NIOHTTP1.HTTPMethod, _: Swift.Array<RoutingKit.PathComponent>, body: Vapor.HTTPBodyStreamStrategy, use: (Vapor.Request) throws -> A1) -> Vapor.Route at <compiler-generated>)
requestType = Vapor.Request
responseType = String
userInfo = 0 key/value pairs {}
}
responder = {
middleware = 0x0000000101d2b9e0 {...}
responder = (closure = 0x0000000100311920 Run`partial apply forwarder for closure #1 (Vapor.Request) throws -> NIO.EventLoopFuture<Vapor.Response> in (extension in Vapor):Vapor.RoutesBuilder.on<A where A1: Vapor.ResponseEncodable>(_: NIOHTTP1.HTTPMethod, _: Swift.Array<RoutingKit.PathComponent>, body: Vapor.HTTPBodyStreamStrategy, use: (Vapor.Request) throws -> A1) -> Vapor.Route at <compiler-generated>)
}
}
}
}
}
parameter = nil
catchall = nil
anything = nil
output = nil
}
}
}
parameter = nil
catchall = nil
anything = nil
output = nil
}
}
notFoundResponder = {
middleware = 0x0000000101d2b9e0 {...}
responder = {}
}
}
}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101d31f10 {...}
pipeline = 0x0000000101e0c510 {...}
name = "handler4"
inboundHandler = 0x0000000101d31540 {
upgradeState = ready
httpRequestDecoder = 0x0000000101d30330 {
decoder = nil
maximumBufferSize = nil
queuedWrites = {
_buffer = {
_buffer = {
_storage = 1 value {
[0] = 0x00007000039a9d60
}
}
}
headBackingIndex = 0
tailBackingIndex = 0
}
state = active
removalState = notBeingRemoved
buffer = some {
state = processingInProgress
buffers = {
_buffer = {
_buffer = {
_storage = 4 values {
[0] = nil
[1] = nil
[2] = nil
[3] = nil
}
}
}
headBackingIndex = 0
tailBackingIndex = 0
}
emptyByteBuffer = {
_storage = 0x0000000101d31c10 {
capacity = 0
bytes = (_rawValue = 0x0000000101d312a0)
allocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
_readerIndex = 0
_writerIndex = 0
_slice = {
upperBound = 0
_begin = (b12 = 0, b3 = 0)
}
}
}
seenEOF = false
selfAsCanDequeueWrites = nil
}
httpHandlers = 5 values {
[0] = 0x0000000101d2f8f0 (isChunked = false)
[1] = 0x0000000101d30330 {...}
[2] = 0x0000000101d308a0 {
requestState = awaitingEnd {
awaitingEnd = {
0 = 0x0000000101e0d810 {...}
1 = {
_storage = 0x4000000101e0c950 {
capacity = 1024
bytes = (_rawValue = 0x0000000104812600)
allocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
_readerIndex = 0
_writerIndex = 29
_slice = {
upperBound = 591
_begin = (b12 = 562, b3 = 0)
}
}
}
}
logger = {
handler = {
label = "codes.vapor.server"
metadata = 0 key/value pairs {}
logLevel = info
console = 0x0000000101e08700 {...}
}
label = "codes.vapor.server"
}
pendingWriteCount = 0
hasReadPending = false
application = 0x0000000101e088e0 {...}
}
[3] = 0x0000000101d313d0 {
serverHeader = nil
dateCache = 0x0000000101d30bb0 {
cachedTimeComponents = some {
key = 18410
components = {
tm_sec = 8
tm_min = 3
tm_hour = 17
tm_mday = 28
tm_mon = 4
tm_year = 120
tm_wday = 4
tm_yday = 148
tm_isdst = 0
tm_gmtoff = 0
tm_zone = 0x0000000102040e48
}
}
timestamp = "Thu, 28 May 2020 17:03:27 GMT"
}
}
[4] = 0x0000000101d31480 {...}
}
}
outboundHandler = 0x0000000101d31540 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101d31e00 {...}
pipeline = 0x0000000101e0c510 {...}
name = "handler3"
inboundHandler = nil
outboundHandler = 0x0000000101d313d0 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101d31ad0 {...}
pipeline = 0x0000000101e0c510 {...}
name = "handler2"
inboundHandler = 0x0000000101d308a0 {...}
outboundHandler = 0x0000000101d308a0 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101d319c0 {...}
pipeline = 0x0000000101e0c510 {...}
name = "handler1"
inboundHandler = 0x0000000101d30330 {...}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101e0c560 {...}
pipeline = 0x0000000101e0c510 {...}
name = "handler0"
inboundHandler = nil
outboundHandler = 0x0000000101d2f8f0 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = nil
pipeline = 0x0000000101e0c510 {...}
name = "head"
inboundHandler = nil
outboundHandler = 0x0000000101d2f960
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
tail = 0x0000000101e0c5c0 {...}
idx = 7
destroyed = false
eventLoop = 0x0000000101d258b0 {...}
_channel = 0x0000000101e0beb0 {...}
}
_addressCache = {
local = v4 {
v4 = {
_storage = 0x0000000101e0c470 {
value = {
address = {
sin_len = 16
sin_family = 2
sin_port = 36895
sin_addr = {
s_addr = 16777343
}
sin_zero = (0 = 0, 1 = 0, 2 = 0, 3 = 0, 4 = 0, 5 = 0, 6 = 0, 7 = 0)
}
host = "127.0.0.1"
}
}
}
}
remote = v4 {
v4 = {
_storage = 0x0000000101e0c4a0 {
value = {
address = {
sin_len = 16
sin_family = 2
sin_port = 14545
sin_addr = {
s_addr = 16777343
}
sin_zero = (0 = 0, 1 = 0, 2 = 0, 3 = 0, 4 = 0, 5 = 0, 6 = 0, 7 = 0)
}
host = "127.0.0.1"
}
}
}
}
}
_bufferAllocatorCache = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
interestedEvent = (rawValue = 7)
lifecycleManager = {
eventLoop = 0x0000000101d258b0 {...}
isActiveAtomic = 0x0000000101e0c3e0 {...}
hasSeenEOFNotification = false
currentState = activated
}
bufferAllocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
connectTimeoutScheduled = nil
allowRemoteHalfClosure = false
inputShutdown = false
outputShutdown = false
pendingWrites = 0x0000000101e0c040 {
state = {
pendingWrites = {
_buffer = {
_buffer = {
_buffer = {
_storage = 16 values {
[0] = 0x0000000100b1e268
[1] = 0x0000000100b1e268
[2] = 0x0000000100b1e268
[3] = 0x0000000100b1e268
[4] = 0x0000000100b1e268
[5] = 0x0000000100b1e268
[6] = 0x0000000100b1e268
[7] = 0x0000000100b1e268
[8] = 0x0000000100b1e268
[9] = 0x0000000100b1e268
[10] = 0x0000000100b1e268
[11] = 0x0000000100b1e268
[12] = 0x0000000100b1e268
[13] = 0x0000000100b1e268
[14] = 0x0000000100b1e268
[15] = 0x0000000100b1e268
}
}
}
headBackingIndex = 6
tailBackingIndex = 6
}
_markedIndexOffset = nil
}
bytes = 0
}
iovecs = (_position = 0x000000010200dc00, count = 1024)
storageRefs = (_position = 0x0000000102018800, count = 1024)
waterMark = (low = 32768, high = 65536)
channelWritabilityFlag = 0x0000000101e0c360 {}
writeSpinCount = 16
isOpen = true
}
}
connectTimeout = nil
}
}
[1] = {
key = (_value = 0x0000000101d30420)
value = 0x0000000101d30420 {
NIO.BaseStreamSocketChannel = {
NIO.BaseSocketChannel = {
parent = 0x0000000101d2f390 {...}
socket = 0x0000000101d2db30 {
NIO.BaseSocket = {
descriptor = 10
}
}
closePromise = {
futureResult = 0x0000000101d2ac90 {
_value = nil
eventLoop = 0x0000000101d25d60 {
_selector = 0x0000000101d25ca0 {
lifecycleState = open
eventsCapacity = 64
events = 0x0000000102011c00
registrations = 1 key/value pair {
[0] = {
key = 10
value = socketChannel {
socketChannel = {
0 = 0x4000000101d30420 {
NIO.BaseStreamSocketChannel = {
NIO.BaseSocketChannel = {
parent = 0x0000000101d2f390 {...}
socket = 0x0000000101d2db30 {...}
closePromise = {
futureResult = 0x0000000101d2ac90 {...}
}
selectableEventLoop = 0x0000000101d25d60 {...}
_offEventLoopLock = 0x0000000101d2de30 (mutex = 0x0000000101d2ceb0)
isActiveAtomic = 0x0000000101d2e360 {}
socketDescription = "BaseSocket { fd=10 }"
readPending = true
pendingConnect = nil
recvAllocator = {
minIndex = 3
maxIndex = 38
minimum = 64
maximum = 65536
initial = 1024
index = 31
nextReceiveBufferSize = 512
decreaseNow = true
}
maxMessagesPerRead = 1
inFlushNow = false
autoRead = true
_pipeline = 0x0000000101d321c0 {
head = 0x0000000101d316d0 {
next = 0x0000000103151850 {
next = 0x0000000103151900 {
next = 0x0000000103151a70 {
next = 0x0000000103151b20 {
next = 0x0000000103151bd0 {
next = 0x00000001031512e0 {
next = 0x000000010314b1f0 {
next = 0x0000000101d2d870 {
next = nil
prev = 0x000000010314b1f0 {...}
pipeline = 0x0000000101d321c0 {...}
name = "tail"
inboundHandler = 0x0000000101d2eb40 {...}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x00000001031512e0 {...}
pipeline = 0x0000000101d321c0 {...}
name = "handler6"
inboundHandler = 0x0000000103151a20 {
logger = {
handler = {
label = "codes.vapor.application"
metadata = 0 key/value pairs {}
logLevel = info
console = 0x0000000101e08700 {...}
}
label = "codes.vapor.application"
}
}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000103151bd0 {...}
pipeline = 0x0000000101d321c0 {...}
name = "handler5"
inboundHandler = 0x000000010314a130 {
responder = {
router = 0x0000000101d29a60 {...}
notFoundResponder = {
middleware = 0x0000000101d2b9e0 {...}
responder = {}
}
}
}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000103151b20 {...}
pipeline = 0x0000000101d321c0 {...}
name = "handler4"
inboundHandler = 0x000000010314a170 {
upgradeState = ready
httpRequestDecoder = 0x000000010314bb30 {
decoder = 0x0000000103150980 {
headers = 0 values {}
trailers = nil
currentHeaderName = nil
url = nil
isUpgrade = nil
buffer = nil
context = nil
parser = 0x000000010314ade0 {
delegate = 0x0000000103150980 {...}
parser = some {
nread = 0
content_length = 18446744073709551615
http_major = 1
http_minor = 1
data = (_rawValue = 0x000000010314ade0 -> 0x0000000100b764a0 type metadata for NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D))
}
settings = {
on_message_begin = 0x00000001003df4e0 Run`@objc closure #9 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_url = 0x00000001003df2d0 Run`@objc closure #6 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>, Swift.Optional<Swift.UnsafePointer<Swift.Int8>>, Swift.Int) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_status = 0x00000001003df1a0 Run`@objc closure #5 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>, Swift.Optional<Swift.UnsafePointer<Swift.Int8>>, Swift.Int) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_header_field = 0x00000001003def40 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>, Swift.Optional<Swift.UnsafePointer<Swift.Int8>>, Swift.Int) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_header_value = 0x00000001003df070 Run`@objc closure #4 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>, Swift.Optional<Swift.UnsafePointer<Swift.Int8>>, Swift.Int) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_headers_complete = 0x00000001003e03a0 Run`@objc closure #10 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_body = 0x00000001003dee10 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>, Swift.Optional<Swift.UnsafePointer<Swift.Int8>>, Swift.Int) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_message_complete = 0x00000001003e0450 Run`@objc closure #11 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_chunk_header = 0x00000001003df430 Run`@objc closure #8 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
on_chunk_complete = 0x00000001003df380 Run`@objc closure #7 (Swift.Optional<Swift.UnsafeMutablePointer<__C.http_parser>>) -> Swift.Int32 in NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D).init(kind: NIOHTTP1.HTTPDecoderKind) -> NIOHTTP1.(BetterHTTPParser in _F43193CAFF0FA6BBC607ACDC4F85EA9D) at <compiler-generated>
}
decodingState = beforeMessageBegin
firstNonDiscardableOffset = nil
currentFieldByteLength = 0
httpParserOffset = 0
rawBytesView = {
_position = (_rawValue = 0x000000000dafbabe)
_end = (_rawValue = 0x000000000dafbabe)
}
httpErrno = nil
richerError = nil
kind = request
requestHeads = {
_buffer = {
_buffer = {
_storage = 1 value {
[0] = nil
}
}
}
headBackingIndex = 0
tailBackingIndex = 0
}
}
leftOverBytesStrategy = forwardBytes
kind = request
stopParsing = false
}
maximumBufferSize = nil
queuedWrites = {
_buffer = {
_buffer = {
_storage = 1 value {
[0] = 0x0000700003a2cd60
}
}
}
headBackingIndex = 0
tailBackingIndex = 0
}
state = active
removalState = notBeingRemoved
buffer = some {
state = ready
buffers = {
_buffer = {
_buffer = {
_storage = 4 values {
[0] = nil
[1] = nil
[2] = nil
[3] = nil
}
}
}
headBackingIndex = 0
tailBackingIndex = 0
}
emptyByteBuffer = {
_storage = 0x0000000103151960 {
capacity = 0
bytes = (_rawValue = 0x000000010314a1f0)
allocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
_readerIndex = 0
_writerIndex = 0
_slice = {
upperBound = 0
_begin = (b12 = 0, b3 = 0)
}
}
}
seenEOF = false
selfAsCanDequeueWrites = nil
}
httpHandlers = 5 values {
[0] = 0x000000010314bcf0 (isChunked = false)
[1] = 0x000000010314bb30 {...}
[2] = 0x000000010314af80 {
requestState = ready
logger = {
handler = {
label = "codes.vapor.server"
metadata = 0 key/value pairs {}
logLevel = info
console = 0x0000000101e08700 {...}
}
label = "codes.vapor.server"
}
pendingWriteCount = 0
hasReadPending = false
application = 0x0000000101e088e0 {...}
}
[3] = 0x0000000103150240 {
serverHeader = nil
dateCache = 0x0000000103150700 {
cachedTimeComponents = some {
key = 18410
components = {
tm_sec = 8
tm_min = 3
tm_hour = 17
tm_mday = 28
tm_mon = 4
tm_year = 120
tm_wday = 4
tm_yday = 148
tm_isdst = 0
tm_gmtoff = 0
tm_zone = 0x0000000102040e48
}
}
timestamp = "Thu, 28 May 2020 17:03:27 GMT"
}
}
[4] = 0x000000010314a130 {...}
}
}
outboundHandler = 0x000000010314a170 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000103151a70 {...}
pipeline = 0x0000000101d321c0 {...}
name = "handler3"
inboundHandler = nil
outboundHandler = 0x0000000103150240 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000103151900 {...}
pipeline = 0x0000000101d321c0 {...}
name = "handler2"
inboundHandler = 0x000000010314af80 {...}
outboundHandler = 0x000000010314af80 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000103151850 {...}
pipeline = 0x0000000101d321c0 {...}
name = "handler1"
inboundHandler = 0x000000010314bb30 {...}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = 0x0000000101d316d0 {...}
pipeline = 0x0000000101d321c0 {...}
name = "handler0"
inboundHandler = nil
outboundHandler = 0x000000010314bcf0 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = nil
pipeline = 0x0000000101d321c0 {...}
name = "head"
inboundHandler = nil
outboundHandler = 0x0000000101d2f960 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
tail = 0x0000000101d2d870 {...}
idx = 7
destroyed = false
eventLoop = 0x0000000101d25d60 {...}
_channel = 0x0000000101d30420 {...}
}
_addressCache = {
local = v4 {
v4 = {
_storage = 0x0000000101d2d990 {
value = {
address = {
sin_len = 16
sin_family = 2
sin_port = 36895
sin_addr = {
s_addr = 16777343
}
sin_zero = (0 = 0, 1 = 0, 2 = 0, 3 = 0, 4 = 0, 5 = 0, 6 = 0, 7 = 0)
}
host = "127.0.0.1"
}
}
}
}
remote = v4 {
v4 = {
_storage = 0x0000000101d2ff00 {
value = {
address = {
sin_len = 16
sin_family = 2
sin_port = 15057
sin_addr = {
s_addr = 16777343
}
sin_zero = (0 = 0, 1 = 0, 2 = 0, 3 = 0, 4 = 0, 5 = 0, 6 = 0, 7 = 0)
}
host = "127.0.0.1"
}
}
}
}
}
_bufferAllocatorCache = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
interestedEvent = (rawValue = 7)
lifecycleManager = {
eventLoop = 0x0000000101d25d60 {...}
isActiveAtomic = 0x0000000101d2e360 {...}
hasSeenEOFNotification = false
currentState = activated
}
bufferAllocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
connectTimeoutScheduled = nil
allowRemoteHalfClosure = false
inputShutdown = false
outputShutdown = false
pendingWrites = 0x0000000101d31610 {
state = {
pendingWrites = {
_buffer = {
_buffer = {
_buffer = {
_storage = 16 values {
[0] = 0x0000000100b1e268
[1] = 0x0000000100b1e268
[2] = 0x0000000100b1e268
[3] = 0x0000000100b1e268
[4] = 0x0000000100b1e268
[5] = 0x0000000100b1e268
[6] = 0x0000000100b1e268
[7] = 0x0000000100b1e268
[8] = 0x0000000100b1e268
[9] = 0x0000000100b1e268
[10] = 0x0000000100b1e268
[11] = 0x0000000100b1e268
[12] = 0x0000000100b1e268
[13] = 0x0000000100b1e268
[14] = 0x0000000100b1e268
[15] = 0x0000000100b1e268
}
}
}
headBackingIndex = 9
tailBackingIndex = 9
}
_markedIndexOffset = nil
}
bytes = 0
}
iovecs = (_position = 0x000000010201a800, count = 1024)
storageRefs = (_position = 0x000000010201e800, count = 1024)
waterMark = (low = 32768, high = 65536)
channelWritabilityFlag = 0x0000000101d2db00 {}
writeSpinCount = 16
isOpen = true
}
}
connectTimeout = nil
}
1 = (rawValue = 7)
}
}
}
}
deregistrationsHappened = false
externalSelectorFDLock = 0x0000000101d25c50 (mutex = 0x0000000101d25cf0)
selectorFD = 5
myThread = 0x0000000101d25d30 {
desiredName = nil
handle = 0x0000700003a2f000
}
}
thread = 0x0000000101d25c70 {
desiredName = "NIO-ELT-0-#2"
handle = 0x0000700003a2f000
}
_scheduledTasks = {
_heap = {
type = minHeap
storage = {
_buffer = {
_storage = 1 value {
[0] = 0x0000000101e0cd00
}
}
}
comparator = 0x000000010013c290 Run`partial apply forwarder for dispatch thunk of static Swift.Comparable.< infix(A, A) -> Swift.Bool at <compiler-generated>
}
}
tasksCopy = {
_buffer = {
_storage = 0 values {}
}
}
_tasksLock = 0x0000000101d25e60 (mutex = 0x0000000101d25e80)
_externalStateLock = 0x0000000101d25ec0 (mutex = 0x0000000101d25ee0)
internalState = runningAndAcceptingNewRegistrations
externalState = open
_iovecs = 0x000000010201a800
_storageRefs = 0x000000010201e800
iovecs = (_position = 0x000000010201a800, count = 1024)
storageRefs = (_position = 0x000000010201e800, count = 1024)
_msgs = 0x0000000101f9f000
_addresses = 0x0000000101fad000
msgs = (_position = 0x0000000101f9f000, count = 1024)
addresses = (_position = 0x0000000101fad000, count = 1024)
promiseCreationStoreLock = 0x0000000101d25f20 (mutex = 0x0000000101d25f40)
_promiseCreationStore = 3 key/value pairs {
[0] = {
key = 7498696253
value = (file = "/Users/npr/Library/Developer/Xcode/DerivedData/form-eqgrkznluazrkwbdgoiqjbhmqtrr/SourcePackages/checkouts/swift-nio/Sources/NIO/SelectableEventLoop.swift", line = 212)
}
[1] = {
key = 7495684733
value = (file = "/Users/npr/Library/Developer/Xcode/DerivedData/form-eqgrkznluazrkwbdgoiqjbhmqtrr/SourcePackages/checkouts/swift-nio-extras/Sources/NIOExtras/QuiescingHelper.swift", line = 222)
}
[2] = {
key = 7495706317
value = (file = "/Users/npr/Library/Developer/Xcode/DerivedData/form-eqgrkznluazrkwbdgoiqjbhmqtrr/SourcePackages/checkouts/swift-nio/Sources/NIO/BaseSocketChannel.swift", line = 445)
}
}
}
_callbacks = {
firstCallback = 0x000000010011db10 Run`partial apply forwarder for closure #1 () -> NIO.CallbackList in NIO.EventLoopFuture.whenComplete((Swift.Result<A, Swift.Error>) -> ()) -> () at <compiler-generated>
furtherCallbacks = nil
}
}
}
selectableEventLoop = 0x0000000101d25d60 {...}
_offEventLoopLock = 0x0000000101d2de30 {...}
isActiveAtomic = 0x0000000101d2e360 {...}
socketDescription = "BaseSocket { fd=10 }"
readPending = true
pendingConnect = nil
recvAllocator = {
minIndex = 3
maxIndex = 38
minimum = 64
maximum = 65536
initial = 1024
index = 31
nextReceiveBufferSize = 512
decreaseNow = true
}
maxMessagesPerRead = 1
inFlushNow = false
autoRead = true
_pipeline = 0x0000000101d321c0 {...}
_addressCache = {
local = v4 {
v4 = {
_storage = 0x0000000101d2d990 {...}
}
}
remote = v4 {
v4 = {
_storage = 0x0000000101d2ff00 {...}
}
}
}
_bufferAllocatorCache = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
interestedEvent = (rawValue = 7)
lifecycleManager = {
eventLoop = 0x0000000101d25d60 {...}
isActiveAtomic = 0x0000000101d2e360 {...}
hasSeenEOFNotification = false
currentState = activated
}
bufferAllocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
connectTimeoutScheduled = nil
allowRemoteHalfClosure = false
inputShutdown = false
outputShutdown = false
pendingWrites = 0x0000000101d31610 {...}
}
connectTimeout = nil
}
}
}
serverChannel = 0x0000000101d2f390 {...}
fullyShutdownPromise = nil
lifecycleState = upAndRunning
}
}
outboundHandler = nil
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
prev = nil
pipeline = 0x0000000101d2fb40 {...}
name = "head"
inboundHandler = nil
outboundHandler = 0x0000000101d2f960 {...}
removeHandlerInvoked = false
userTriggeredRemovalStarted = false
}
tail = 0x0000000101d2fd70 {...}
idx = 1
destroyed = false
eventLoop = 0x0000000101d26240 {...}
_channel = 0x0000000101d2f390 {...}
}
_addressCache = {
local = v4 {
v4 = {
_storage = 0x000000010314a420 {
value = {
address = {
sin_len = 16
sin_family = 2
sin_port = 36895
sin_addr = {
s_addr = 16777343
}
sin_zero = (0 = 0, 1 = 0, 2 = 0, 3 = 0, 4 = 0, 5 = 0, 6 = 0, 7 = 0)
}
host = "127.0.0.1"
}
}
}
}
remote = nil
}
_bufferAllocatorCache = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
interestedEvent = (rawValue = 7)
lifecycleManager = {
eventLoop = 0x0000000101d26240 {...}
isActiveAtomic = 0x0000000101d2f600 {...}
hasSeenEOFNotification = false
currentState = activated
}
bufferAllocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
backlog = 256
group = 0x0000000101e08e40 {...}
}
socket = 0x0000000101e0baf0 {...}
closePromise = {
futureResult = 0x0000000101e0c420 {...}
}
selectableEventLoop = 0x0000000101d258b0 {...}
_offEventLoopLock = 0x0000000101e0c380 {...}
isActiveAtomic = 0x0000000101e0c3e0 {...}
socketDescription = "BaseSocket { fd=9 }"
readPending = false
pendingConnect = nil
recvAllocator = {
minIndex = 3
maxIndex = 38
minimum = 64
maximum = 65536
initial = 1024
index = 35
nextReceiveBufferSize = 8192
decreaseNow = true
}
maxMessagesPerRead = 1
inFlushNow = false
autoRead = true
_pipeline = 0x0000000101e0c510 {...}
_addressCache = {
local = v4 {
v4 = {
_storage = 0x0000000101e0c470 {...}
}
}
remote = v4 {
v4 = {
_storage = 0x0000000101e0c4a0 {...}
}
}
}
_bufferAllocatorCache = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
interestedEvent = (rawValue = 7)
lifecycleManager = {
eventLoop = 0x0000000101d258b0 {...}
isActiveAtomic = 0x0000000101e0c3e0 {...}
hasSeenEOFNotification = false
currentState = activated
}
bufferAllocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
connectTimeoutScheduled = nil
allowRemoteHalfClosure = false
inputShutdown = false
outputShutdown = false
pendingWrites = 0x0000000101e0c040 {...}
}
connectTimeout = nil
}
1 = (rawValue = 7)
}
}
}
}
deregistrationsHappened = false
externalSelectorFDLock = 0x0000000101d08820 (mutex = 0x0000000101d06330)
selectorFD = 4
myThread = 0x0000000101d06370 {
desiredName = nil
handle = 0x00007000039ac000
}
}
thread = 0x0000000101d072c0 {
desiredName = "NIO-ELT-0-#1"
handle = 0x00007000039ac000
}
_scheduledTasks = {
_heap = {
type = minHeap
storage = {
_buffer = {
_storage = 1 value {
[0] = 0x000000010314a080
}
}
}
comparator = 0x000000010013c290 Run`partial apply forwarder for dispatch thunk of static Swift.Comparable.< infix(A, A) -> Swift.Bool at <compiler-generated>
}
}
tasksCopy = {
_buffer = {
_storage = 0 values {}
}
}
_tasksLock = 0x0000000101d25980 (mutex = 0x0000000101d259a0)
_externalStateLock = 0x0000000101d259e0 (mutex = 0x0000000101d25a00)
internalState = runningAndAcceptingNewRegistrations
externalState = open
_iovecs = 0x000000010200dc00
_storageRefs = 0x0000000102018800
iovecs = (_position = 0x000000010200dc00, count = 1024)
storageRefs = (_position = 0x0000000102018800, count = 1024)
_msgs = 0x0000000101f60000
_addresses = 0x0000000101f6e000
msgs = (_position = 0x0000000101f60000, count = 1024)
addresses = (_position = 0x0000000101f6e000, count = 1024)
promiseCreationStoreLock = 0x0000000101d25a40 (mutex = 0x0000000101d25a60)
_promiseCreationStore = 2 key/value pairs {
[0] = {
key = 7449138797
value = (file = "/Users/npr/Library/Developer/Xcode/DerivedData/form-eqgrkznluazrkwbdgoiqjbhmqtrr/SourcePackages/checkouts/swift-nio/Sources/NIO/SelectableEventLoop.swift", line = 212)
}
[1] = {
key = 7498698365
value = (file = "/Users/npr/Library/Developer/Xcode/DerivedData/form-eqgrkznluazrkwbdgoiqjbhmqtrr/SourcePackages/checkouts/swift-nio/Sources/NIO/BaseSocketChannel.swift", line = 445)
}
}
}
[2] = 0x0000000101d25d60 {...}
[3] = 0x0000000101d26240 {...}
}
shutdownLock = 0x0000000101e09030 (mutex = 0x0000000101e09050)
runState = running
}
storage = {
storage = 12 key/value pairs {
[0] = {
key = (_value = 0x0000000100b271b8 Run`type metadata for Vapor.Application.Sessions.Key)
value = {
value = 0x0000000101d26c80 {
memory = 0x0000000101d270b0 {
sessions = 0 key/value pairs {}
queue = 0x0000000101d27810 {
baseOS_dispatch_queue@0 = {
baseOS_dispatch_object@0 = {
baseOS_object@0 = {
baseNSObject@0 = {
isa = OS_dispatch_queue_serial
}
}
}
}
}
}
makeDriver = 0x0000000100315190 Run`closure #1 (Vapor.Application) -> Vapor.SessionDriver in closure #1 (Vapor.Application) -> () in static Vapor.Application.Sessions.Provider.memory.getter : Vapor.Application.Sessions.Provider at Application+Sessions.swift:10
configuration = (cookieFactory = 0x000000010031b080 Run`closure #1 (Vapor.SessionID) -> Vapor.HTTPCookies.Value in static Vapor.SessionsConfiguration.default() -> Vapor.SessionsConfiguration at SessionsConfiguration.swift:25, cookieName = "vapor-session")
}
onShutdown = nil
}
}
[1] = {
key = (_value = 0x0000000100b26da8 Run`type metadata for Vapor.Application.(RoutesKey in _6B614C53C8542BCB4147DE07ACD3F360))
value = {
value = 0x0000000101d29480 {
all = 3 values {
[0] = 0x0000000101d293f0 {...}
[1] = 0x0000000101d2aa40 {...}
[2] = 0x0000000101d2ab60 {...}
}
defaultMaxBodySize = (value = 16384)
}
onShutdown = nil
}
}
[2] = {
key = (_value = 0x0000000100b23508 Run`type metadata for Vapor.Application.Core.Key)
value = {
value = 0x0000000101e0a740 {
console = 0x0000000101e0a810 {
userInfo = 0 key/value pairs {}
}
commands = {
commands = 3 key/value pairs {
[0] = {
key = "boot"
value = 0x0000000101e0a690 {}
}
[1] = {
key = "routes"
value = 0x0000000101d27510 {}
}
[2] = {
key = "serve"
value = 0x0000000101d273d0 {
signature = {
_hostname = 0x0000000101d27440 {
name = "hostname"
help = "Set the hostname the server will run on."
short = "H"
completion = {
expressions = 0 key/value pairs {}
}
isPresent = false
value = uninitialized
}
_port = 0x0000000101d27fe0 {
name = "port"
help = "Set the port the server will run on."
short = "p"
completion = {
expressions = 0 key/value pairs {}
}
isPresent = false
value = uninitialized
}
_bind = 0x0000000101d28040 {
name = "bind"
help = "Convenience for setting hostname and port together."
short = "b"
completion = {
expressions = 0 key/value pairs {}
}
isPresent = false
value = uninitialized
}
}
signalSources = 2 values {
[0] = 0x00000001030553d0 {
baseOS_dispatch_object@0 = {
baseOS_object@0 = {
baseNSObject@0 = {
isa = OS_dispatch_source
}
}
}
}
[1] = 0x00000001030558f0 {
baseOS_dispatch_object@0 = {
baseOS_object@0 = {
baseNSObject@0 = {
isa = OS_dispatch_source
}
}
}
}
}
didShutdown = false
server = 0x0000000101d2cd30 {
responder = {
router = 0x0000000101d29a60 {...}
notFoundResponder = {
middleware = 0x0000000101d2b9e0 {...}
responder = {}
}
}
configuration = {
hostname = "127.0.0.1"
port = 8080
backlog = 256
reuseAddress = true
tcpNoDelay = true
responseCompression = {
storage = disabled
}
requestDecompression = {
storage = disabled
}
supportPipelining = false
supportVersions = 1 value {
[0] = one
}
tlsConfiguration = nil
serverName = nil
logger = {
handler = {
label = "codes.vapor.application"
metadata = 0 key/value pairs {}
logLevel = info
console = 0x0000000101e08700 {...}
}
label = "codes.vapor.application"
}
}
eventLoopGroup = 0x0000000101e08e40 {...}
connection = 0x000000010314e8d0 {
channel = 0x0000000101d2f390 {...}
quiesce = 0x0000000101d2d4a0 {
channelCollectorPromise = {
futureResult = 0x0000000101d2d820 {
_value = success {
success = 0x000000010314eaa0 {...}
}
eventLoop = 0x0000000101d25d60 {...}
_callbacks = {
firstCallback = nil
furtherCallbacks = nil
}
}
}
}
}
didShutdown = false
didStart = true
application = 0x0000000101e088e0 {...}
}
running = some {
promise = {
futureResult = 0x00000001030556b0 {
_value = nil
eventLoop = 0x0000000101e09d90 {...}
_callbacks = {
firstCallback = 0x0000000100124630 Run`partial apply forwarder for closure #2 () -> NIO.CallbackList in NIO.EventLoopFuture.wait(file: Swift.StaticString, line: Swift.UInt) throws -> A at <compiler-generated>
furtherCallbacks = nil
}
}
}
}
}
}
}
defaultCommand = 0x0000000101d273d0 {...}
enableAutocomplete = false
}
threadPool = 0x0000000101e0ab80 {
semaphore = 0x0000000101e0abd0 {
baseOS_dispatch_object@0 = {
baseOS_object@0 = {
baseNSObject@0 = {
isa = OS_dispatch_semaphore
}
}
}
}
lock = 0x0000000101e0ac20 (mutex = 0x0000000101e0ac40)
threads = 1 value {
[0] = 0x0000000101e0b170 {
desiredName = "TP-#0"
handle = 0x0000700003b35000
}
}
state = running {
running = {
_buffer = {
_buffer = {
_storage = 16 values {
[0] = nil
[1] = nil
[2] = nil
[3] = nil
[4] = nil
[5] = nil
[6] = nil
[7] = nil
[8] = nil
[9] = nil
[10] = nil
[11] = nil
[12] = nil
[13] = nil
[14] = nil
[15] = nil
}
}
}
headBackingIndex = 4
tailBackingIndex = 4
}
}
numberOfThreads = 1
}
allocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
running = 0x0000000101d26630 {
current = some {
promise = {
futureResult = 0x00000001030556b0 {...}
}
}
}
directory = {
workingDirectory = "/Users/npr/form/"
resourcesDirectory = "/Users/npr/form/Resources/"
viewsDirectory = "/Users/npr/form/Resources/Views/"
publicDirectory = "/Users/npr/form/Public/"
}
}
onShutdown = nil
}
}
[3] = {
key = (_value = 0x0000000100b270a8 Run`type metadata for Vapor.Application.Servers.Key)
value = {
value = 0x0000000101d26f00 (makeServer = 0x00000001002a8800 Run`closure #1 (Vapor.Application) -> Vapor.Server in closure #1 (Vapor.Application) -> () in static Vapor.Application.Servers.Provider.http.getter : Vapor.Application.Servers.Provider at Application+HTTP+Server.swift:4)
onShutdown = nil
}
}
[4] = {
key = (_value = 0x0000000100b27090 Run`type metadata for Vapor.Application.Servers.CommandKey)
value = {
value = 0x0000000101d273d0 {...}
onShutdown = 0x0000000100314a90 Run`partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed Vapor.ServeCommand) -> (@error @owned Swift.Error) to @escaping @callee_guaranteed (@in_guaranteed Vapor.ServeCommand) -> (@error @owned Swift.Error) at <compiler-generated>
}
}
[5] = {
key = (_value = 0x0000000100b226e8 Run`type metadata for Vapor.Application.Clients.Key)
value = {
value = 0x0000000101d27c50 (makeClient = 0x00000001002478a0 Run`closure #1 (Vapor.Application) -> Vapor.Client in closure #1 (Vapor.Application) -> () in static Vapor.Application.Clients.Provider.http.getter : Vapor.Application.Clients.Provider at Application+HTTP+Client.swift:4)
onShutdown = nil
}
}
[6] = {
key = (_value = 0x0000000100b254f0 Run`type metadata for Vapor.Application.(MiddlewaresKey in _F3E7BB2870B8D507EA8D9F2B162FFA16))
value = {
value = {
storage = 1 value {
[0] = 0x0000000101d2b9e0 {...}
}
}
onShutdown = nil
}
}
[7] = {
key = (_value = 0x0000000100b24598 Run`type metadata for Vapor.Application.HTTP.Server.Key)
value = {
value = 0x0000000101d2cd30 {...}
onShutdown = nil
}
}
[8] = {
key = (_value = 0x0000000100b157b8 Run`type metadata for (extension in Leaf):Vapor.Application.Leaf.Key)
value = {
value = 0x0000000101d328d0 {
cache = 0x0000000101d30600 {
lock = 0x0000000101d32990 (mutex = 0x0000000101d329b0)
cache = 1 key/value pair {
[0] = {
key = "form"
value = {
name = "form"
rawAST = nil
flatState = true
ast = 1 value {
[0] = raw {
raw = {
_storage = 0x0000000101d32bd0 {
capacity = 256
bytes = (_rawValue = 0x0000000101d32550)
allocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
_readerIndex = 0
_writerIndex = 205
_slice = {
upperBound = 256
_begin = (b12 = 0, b3 = 0)
}
}
}
}
externalRefs = 0 values {}
unresolvedRefs = 0 values {}
flat = true
}
}
}
isEnabled = true
}
configuration = nil
files = nil
tags = 1 key/value pair {
[0] = {
key = "lowercased"
value = {}
}
}
userInfo = 0 key/value pairs {}
}
onShutdown = nil
}
}
[9] = {
key = (_value = 0x0000000100b26350 Run`type metadata for Vapor.Application.Passwords.Key)
value = {
value = 0x0000000101d27010 (makeVerifier = 0x00000001002f4350 Run`partial apply forwarder for closure #1 (Vapor.Application) -> Vapor.PasswordHasher in closure #1 (Vapor.Application) -> () in static Vapor.Application.Passwords.Provider.bcrypt(cost: Swift.Int) -> Vapor.Application.Passwords.Provider at <compiler-generated>)
onShutdown = nil
}
}
[10] = {
key = (_value = 0x0000000100b2a100 Run`type metadata for Vapor.Application.Views.Key)
value = {
value = 0x0000000101d26e20 (makeRenderer = 0x0000000100001ac0 Run`closure #1 (Vapor.Application) -> Vapor.ViewRenderer in closure #1 (Vapor.Application) -> () in static (extension in Leaf):Vapor.Application.Views.Provider.leaf.getter : Vapor.Application.Views.Provider at Application+Leaf.swift:6)
onShutdown = nil
}
}
[11] = {
key = (_value = 0x0000000100b26958 Run`type metadata for Vapor.Application.Responder.Key)
value = {
value = 0x0000000101d26e60 (factory = 0x00000001002fe3e0 Run`closure #1 (Vapor.Application) -> Vapor.Responder in closure #1 (Vapor.Application) -> () in static Vapor.Application.Responder.Provider.default.getter : Vapor.Application.Responder.Provider at Application+Responder.swift:10)
onShutdown = nil
}
}
}
logger = {
handler = {
label = "codes.vapor.application"
metadata = 0 key/value pairs {}
logLevel = info
console = 0x0000000101e08700 {...}
}
label = "codes.vapor.application"
}
}
didShutdown = false
logger = {
handler = {
label = "codes.vapor.application"
metadata = 0 key/value pairs {}
logLevel = info
console = 0x0000000101e08700 {...}
}
label = "codes.vapor.application"
}
isBooted = true
lifecycle = {
handlers = 1 value {
[0] = {}
}
}
locks = 0x0000000101d26530 {
main = 0x0000000101d26550 (mutex = 0x0000000101d26570)
storage = 0 key/value pairs {}
}
}
method = POST
url = (string = "/decode")
version = (_minor = 1, _major = 1)
headers = {
headers = 12 values {
[0] = (0 = "Host", 1 = "localhost:8080")
[1] = (0 = "Accept", 1 = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
[2] = (0 = "Accept-Encoding", 1 = "gzip, deflate")
[3] = (0 = "Accept-Language", 1 = "en-gb")
[4] = (0 = "Content-Type", 1 = "application/x-www-form-urlencoded")
[5] = (0 = "Origin", 1 = "http://localhost:8080")
[6] = (0 = "User-Agent", 1 = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15")
[7] = (0 = "Connection", 1 = "keep-alive")
[8] = (0 = "Upgrade-Insecure-Requests", 1 = "1")
[9] = (0 = "Referer", 1 = "http://localhost:8080/")
[10] = (0 = "Content-Length", 1 = "29")
[11] = (0 = "Cookie", 1 = "vapor-session=9Ra4Lmz8P61DmagIXrZiYw0j/H8WXoTdKBGqw9IMa8E=")
}
keepAliveState = keepAlive
}
isKeepAlive = true
route = 0x0000000101d2ab60 {...}
logger = {
handler = {
label = "codes.vapor.application"
metadata = 1 key/value pair {
[0] = {
key = "request-id"
value = string (string = "0336AA4A-A264-4F91-A035-A7098EA7D656")
}
}
logLevel = info
console = 0x0000000101e08700 {...}
}
label = "codes.vapor.application"
}
bodyStorage = collected {
collected = {
_storage = 0x0000000101e0c950 {
capacity = 1024
bytes = (_rawValue = 0x0000000104812600)
allocator = (malloc = 0x000000010009d7e0 Run`@objc closure #1 (Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, realloc = 0x000000010009d830 Run`@objc closure #2 (Swift.Optional<Swift.UnsafeMutableRawPointer>, Swift.Int) -> Swift.Optional<Swift.UnsafeMutableRawPointer> in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, free = 0x000000010009d870 Run`@objc closure #3 (Swift.Optional<Swift.UnsafeMutableRawPointer>) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>, memcpy = 0x000000010009d8d0 Run`@objc closure #4 (Swift.UnsafeMutableRawPointer, Swift.UnsafeRawPointer, Swift.Int) -> () in NIO.ByteBufferAllocator.init() -> NIO.ByteBufferAllocator at <compiler-generated>)
}
_readerIndex = 0
_writerIndex = 29
_slice = {
upperBound = 591
_begin = (b12 = 562, b3 = 0)
}
}
}
remoteAddress = v4 {
v4 = {
_storage = 0x0000000101e0c4a0 {...}
}
}
eventLoop = 0x0000000101d258b0 {...}
parameters = {
values = 0 key/value pairs {}
catchall = {
values = 0 values {}
isPercentEncoded = true
}
}
storage = {
storage = 0 key/value pairs {}
logger = {
handler = {
label = "codes.vapor.storage"
metadata = 0 key/value pairs {}
logLevel = info
console = 0x0000000101e08700 {...}
}
label = "codes.vapor.storage"
}
}
}
}```
That's also not the request body. Closing this issue since there's not enough information to help debug.
Array-notation text fields in HTML were decoded into [Int:String] dictionaries in Vapor 3. I cannot find a way of reproducing this in Vapor 4. I believe the form is being correctly decoded, but at some point it returns no values to the decode structure.
Steps to reproduce
To be safe, I installed vapor-beta on a new machine and created a new project. Deleted Controllers folder with contents. Used this form.leaf file:
And these routes:
Expected behaviour
I expected the value of
form.array[1]
to be what I typed in the second field of the form.Actual behaviour
'oops' was returned, showing that the form had not decoded. This is the console log:
[ NOTICE ] Server starting on http://127.0.0.1:8080 [ INFO ] GET / [ INFO ] POST /decode [ INFO ] GET /favicon.ico
Environment
Vapor-beta 18.0.0-beta.27
Building project... Fetching https://github.com/vapor/leaf.git Fetching https://github.com/vapor/vapor.git Fetching https://github.com/vapor/leaf-kit.git Fetching https://github.com/apple/swift-nio.git Fetching https://github.com/apple/swift-nio-http2.git Fetching https://github.com/apple/swift-log.git Fetching https://github.com/apple/swift-nio-ssl.git Fetching https://github.com/vapor/websocket-kit.git Fetching https://github.com/swift-server/async-http-client.git Fetching https://github.com/vapor/async-kit.git Fetching https://github.com/apple/swift-nio-extras.git Fetching https://github.com/apple/swift-crypto.git Fetching https://github.com/vapor/console-kit.git Fetching https://github.com/vapor/routing-kit.git Fetching https://github.com/apple/swift-metrics.git Fetching https://github.com/swift-server/swift-backtrace.git Cloning https://github.com/vapor/routing-kit.git Resolving https://github.com/vapor/routing-kit.git at 4.1.0 Cloning https://github.com/vapor/async-kit.git Resolving https://github.com/vapor/async-kit.git at 1.0.1 Cloning https://github.com/apple/swift-nio-http2.git Resolving https://github.com/apple/swift-nio-http2.git at 1.11.0 Cloning https://github.com/apple/swift-nio.git Resolving https://github.com/apple/swift-nio.git at 2.16.0 Cloning https://github.com/apple/swift-crypto.git Resolving https://github.com/apple/swift-crypto.git at 1.0.1 Cloning https://github.com/apple/swift-nio-extras.git Resolving https://github.com/apple/swift-nio-extras.git at 1.4.0 Cloning https://github.com/vapor/websocket-kit.git Resolving https://github.com/vapor/websocket-kit.git at 2.0.0 Cloning https://github.com/apple/swift-log.git Resolving https://github.com/apple/swift-log.git at 1.2.0 Cloning https://github.com/vapor/leaf-kit.git Resolving https://github.com/vapor/leaf-kit.git at 1.0.0-rc.1.6 Cloning https://github.com/swift-server/swift-backtrace.git Resolving https://github.com/swift-server/swift-backtrace.git at 1.2.0 Cloning https://github.com/vapor/vapor.git Resolving https://github.com/vapor/vapor.git at 4.4.0 Cloning https://github.com/vapor/leaf.git Resolving https://github.com/vapor/leaf.git at 4.0.0-rc.1.2 Cloning https://github.com/apple/swift-nio-ssl.git Resolving https://github.com/apple/swift-nio-ssl.git at 2.7.1 Cloning https://github.com/apple/swift-metrics.git Resolving https://github.com/apple/swift-metrics.git at 2.0.0 Cloning https://github.com/vapor/console-kit.git Resolving https://github.com/vapor/console-kit.git at 4.1.0 Cloning https://github.com/swift-server/async-http-client.git Resolving https://github.com/swift-server/async-http-client.git at 1.1.1