问题标签 [vapor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
758 浏览

ssl - 如何在 Vapor Web 框架中安装 SSL 证书?

我想在 Vapor Web 框架中安装 SSL(Comodo 通配符证书,例如:“*.test.com”),我得到的“servers.json”是:

我已经使用 openssl 命令确保“public/private”密钥匹配。关于“ssl-bundle.crt”之类的certificateFile部分,我也尝试了“*.test.com.crt”和“key.pem”(仍然使用openssl通过验证,唯一的区别是测试.com的证书,另一个是捆绑证书,已经由正确的订单组合在一起。)。此外,所有证书和密钥的格式也是正确的。而且我还确保证书/密钥文件的位置正确,以便 Vapor 可以找到这些文件。但我仍然无法正确启动服务器,并且总是显示错误。我尝试在 xcode 中找到确切的位置,但我只能看到它在这种方法中失败:“tls_accept_fds()”,它位于 CLibreSSL 库的 tls_server.c 中。

在此处输入图像描述

另外,我看到了 xcode 向我显示的错误消息:

在此处输入图像描述

使用调试模式跟踪后,我只能知道程序似乎在“SSL_set_rfd()”或“SSL_set_rfd()”中抛出错误,但我不知道具体。xcode 只向我显示这个,我在调试控制台中找不到任何其他错误消息。结果,到目前为止,我只能确保错误应该在这个块中:

所以,以上是我现在得到的所有信息,我已经好几天在互联网上找不到解决方案了......谁能给我任何关于如何在 Vapor Web 框架中安装 SSL 的提示?我已经可以在 Apache、Nginx、Tomcat 等中正确安装 SSL。但在 Vapor 中从未成功,这似乎是 C 库问题,但我不知道它失败的真正原因,非常感谢您提供任何可能的帮助。

0 投票
1 回答
489 浏览

swift - Vapor SQLite 缺少模块 CSQLiteMac

我正在尝试将 SQLite 添加到 Vapor 应用程序,但运气不佳。这是我为将它添加到项目中所做的工作,以及我在尝试构建它时在 Xcode 中遇到的错误。导入语句中的 Sqlite.swift 中出现错误:“没有这样的模块 'CSQLiteMac'”我知道某处缺少框架,但我似乎无法追踪我缺少的内容,而且我的 google fu 让我失望了.

我的包文件:

0 投票
2 回答
531 浏览

swift - Vapor MongoDB 提供程序错误

我正在尝试在本地计算机上运行 Vapor 应用程序并安装并运行 MongoDb。

我有这个作为我的 mongo.json:{ "user": "test", "password": "password", "database": "reading_journal", "host": "127.0.0.1", "port": 2701 }

就本地数据库的信息而言,这是正确的。

我的 main.swift:

然而在日志中我得到:“无法初始化提供者提供者:套接字失败,代码为 61(“无可用数据”)[connectFailed]“未知错误”

是否需要进行其他一些初始化?这是一个全新的 MongoDB 数据库。

任何帮助将不胜感激!

0 投票
1 回答
4692 浏览

ubuntu - ubuntu 15.10 上的快速构建错误

我正在尝试在运行 Ubuntu 15.10 x64 的服务器上安装蒸汽( https://github.com/vapor/vapor )工具箱。

我从“swift build”命令中得到这个错误

这是卷曲问题吗?如何解决此错误?

细节:

我正在按照此处描述的步骤操作: https ://vapor.github.io/documentation/getting-started/install-toolbox.html

Swift 3.0 已安装:

要安装工具箱:

上面的错误发生在脚本的这一行:swift build -c release > /dev/null;

swift build --help给出同样的错误:

蒸汽不存在:

还有卷曲信息:

curl 已安装sudo apt-get install curl并没有报告任何错误。

user@server:/usr/lib$ find . | grep curl报告大约 15 场比赛,但没有一个完全是 libcurl.so.4。收官战是:

0 投票
2 回答
1033 浏览

swift - 如何为 vapor web 框架编写中间件?

使用工具箱命令创建了一个新项目:vapor new projectname

在 main.swift 文件中,我添加了中间件代码:

但是当我运行它时,它会打印“hello world”,但 API 版本不会添加到标题中。我正在使用邮递员检查它。

0 投票
1 回答
1483 浏览

mongodb - Use Mongo DB with Vapor and Fluent

I made a model for Users looking like this:

I try to create a new User with this:

i can build and run vapor. when i enter the route the could should be execute i got this error:

Uncaught Error: EntityError.noDatabase. Use middleware to catch this error and provide a better response. Otherwise, a 500 error page will be returned in the production environment.

Can anybody help me?

Where can i found a complete documentation for Fluent with mongo and Vapor?

Thanks a lot!

0 投票
2 回答
727 浏览

swift - 尝试在 Bluemix 上运行 Swift Vapor - 404 Not Found:请求的路由不存在

我试图弄清楚如何在 IBM Bluemix 中部署一个使用 Vapor 框架的 Cloudfoundry 应用程序。

IBM 正在为使用他的平台和他的框架 Kitura 开发服务器端 Swift 应用程序提供设施和指导。我认为作为 Cloudfoundry 提供商,使用适当的 Swift buildpack,我们必须能够部署通用的服务器端 Swift 代码。

最后,在学习一些 CF 的过程中,我通过 CloudFoundry CLI 达到了这一点:

  1. 我正在连接到 Bluemix API 端点 (api .eu-gb .bluemix .net)
  2. 登录成功(将超时设置 env.var CF_DIAL_TIMEOUT 扩展为 20 后)
  3. 制作“cf push”。它创建应用程序并上传和编译所有内容。
  4. 应用程序状态为“正在运行”。

但是当我加载页面(https://sommobilitatcore.eu-gb.mybluemix.net/)时,我得到:

任何人都可以帮助我吗?谢谢!

一些上下文:

manifest.yml:

档案

(main.swift 在 Source/App/ 中)

Vapor Config 文件中没有配置端口,则 Vapor 正在尝试监听端口 80:

更新:

最后让它在没有 Procfile 的情况下工作,manifest.yml

和 /Config/production/servers.json :

我没有在 main.swift 文件中指定端口变量。使用更新的 Vapor 版本:

如果您不熟悉 Cloudfoundry 或 IBM Bluemix,这是一种工作方式:

  1. 您在 Cloudfoundry 提供商中注册(例如:bluemix)

  2. 您在本地拥有 Vapor 项目。

  3. 使用以下短行向其添加 .cignore 文件:Packages/ 以避免将 Packages 上传到服务器。

  4. 向其中添加提到的 manifest.yml 文件。

  5. 下载并安装 Cloudfoundry CLI:https ://docs.cloudfoundry.org/cf-cli/

    使用 CLI:

  6. cf api https://api.eu-gb.bluemix.net

  7. cf登录

  8. 比较推

0 投票
1 回答
76 浏览

vapor - 当 Node 中的列数超过 18 时,Vapor build 失败?

我在 Vapor 中使用带有函数“makeNode”的“模型”,当表列数量小于 14 时,我可以成功构建和运行项目。但是当我的表列达到 19 或 20 时,Vapor 启动构建非常非常缓慢,最终会报告失败。我尝试过使用 MySQL 或 MongoDB,都遇到了同样的问题。所以我想知道当我需要使用包含 20 列的表时如何解决这个问题。以下是详细信息:

构建错误消息是:

由于信号而导致命令失败:杀死:9

因此,如果您能给我任何提示来解决此问题,我将不胜感激。谢谢你。

0 投票
2 回答
109 浏览

vapor - 蒸汽,为什么 drop.config 为零

SWIFT代码:

结果:

为什么 drop.config 为零

0 投票
2 回答
3608 浏览

swift3 - 如何使用 swift 3 进行同步 url 请求

我知道这个问题之前已经被问过,并且我同意大多数答案声称最好遵循在 Swift 3 中与 URLSession 异步请求的方式。我有以下场景,其中无法使用异步请求。

使用 Swift 3 和在服务器上快速运行的能力,我遇到了以下问题。

  1. 服务器接收来自客户端的请求
  2. 为了处理请求,服务器必须发送一个 url 请求并等待响应到达。
  3. 响应到达后,对其进行处理并回复客户端

问题出现在第 2 步,其中 URLSession 使我们能够仅启动异步数据任务。大多数(如果不是全部)服务器端 Swift Web 框架不支持异步响应。当请求到达服务器时,所有事情都必须同步完成,最后发送响应。

到目前为止,我发现的唯一解决方案是使用 DispatchSemaphore(参见最后的示例),我不确定这是否适用于缩放环境。

任何帮助或想法将不胜感激。

我只有 kitura web 框架的经验,这就是我遇到问题的地方。我想在所有其他 swift web 框架中都存在类似的问题。