【发布时间】:2019-01-23 05:09:36
【问题描述】:
我有一个奇怪的问题。我在数字海洋机器上的码头内运行蒸汽。 除了 PATCH 和 DELETE 请求之外,我的所有请求都按预期工作。
在以下代码中,patch enter 将被记录,但parameter decode 不会被记录。
HTTP 请求似乎永远运行,其他并行请求是不可能的
func patch(_ req: Request) throws -> Future<Manufacturer> {
let logger = try req.make(Logger.self)
logger.info("patch enter")
return try req.parameters.next(Manufacturer.self).flatMap { manufacturer in
logger.info("parameter decode")
return try req.content.decode(Manufacturer.self).flatMap { patchManufacturer in
logger.info("content decode")
manufacturer.name = patchManufacturer.name
return manufacturer.save(on: req)
}
}
}
req.parameters.next(ModelName.self).flatMap 的所有其他方法在我的数字海洋码头机器中也不起作用。
类似于简单的创建工作:
func create(_ req: Request) throws -> Future<Manufacturer> {
return try req.content.decode(Manufacturer.self).flatMap { manufacturer in
return manufacturer.save(on: req)
}
}
所以我认为一定有问题:
return try req.parameters.next(Manufacturer.self).flatMap { manufacturer in
奇怪的是:当我在我的 mac 上启动相同的 docker compose 配置时, 一切正常 - 没有挂起的 http 请求。
我不知道该怎么做才能找到错误,有人可以帮助我吗? 如果有我应该提供的文件来解决问题,请留言,我会更新帖子。
谢谢!
【问题讨论】:
标签: swift http docker digital-ocean vapor