问题标签 [goliath]

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 回答
157 浏览

ruby - env['REMOTE_ADDR'] 与 Goliath ruby

我有一个带有 Goliath gem (ruby) 的 API,我想获取调用我的 API 的移动设备的 ip。情况是,当某些设备呼叫我时,env['REMOTE_ADDR']请始终给我。127.0.0.1应该是手机的ip给我打电话吧?

请问有什么帮助吗?

提前致谢!

0 投票
0 回答
53 浏览

ruby - 如何在 Goliath 中获取 Goliath::Runner 实例端口?

我试图在 Goliath 的请求控制器之外获取服务器的端口,这意味着我无法访问env['SERVER_PORT'].

所以我试图解析ARGV,结果它是空的

我发现有一个port属性Goliath::Runner,但是如何在 Goliath 中引用当前的 runner 实例?

0 投票
1 回答
464 浏览

ruby-on-rails - 访问不同模块中的 Rails 模型

我正在使用 Goliath 为我的 Rails 应用程序编写 Web 服务,我想记录发送到我的 Web 服务器的所有请求。我有这个Api类,它位于两个模块中:

我有一个app/models名为的模型Logger。问题是当我运行ruby api.rb -sv它时会引发错误:

我应该怎么办?谢谢。

0 投票
0 回答
52 浏览

ruby - 消除葡萄/歌利亚中的错误

我正在使用在 Goliath 上运行的 Grape API。目前,如果一个方法由于某种原因返回一个错误,客户端会收到一个 500 -并引发了确切的错误

如何使 API 的输出静音并让它返回一个通用的 500 错误?

0 投票
1 回答
618 浏览

ruby - 如何在没有 Rails 的情况下实现强大的参数保护?

我正在使用Goliath + Grape + Active Record 4.2 + Active Record Migrations开发样板 Web 应用程序。这是我的迁移文件

还有我的模特

还有葡萄 API

当我POST /v1/albums/使用一些参数调用时,应用程序总是会引发ActiveModel::ForbiddenAttributesError. 似乎 ActiveRecord 想ActionController::Parameters成为论据,但 Grape 给出了它Hashie::Mash

我已经尝试实现一个简单的 Rack 中间件来env['params']从 a转换Hash为 aActionController::Parameters并在之后使用它Goliath::Rack::Params,但是 Grape 只是在调用辅助方法时对其进行清理params。我还尝试实现和使用 Grape 中间件来做同样的事情并得到相同的结果。

是否有任何解决方案,或者我只需要降级到 ActiveRecord 3?

0 投票
1 回答
52 浏览

ruby - 需要葡萄极大地减慢了歌利亚的速度

我已经使用 编写了一个“Hello World”应用程序Goliath,我决定安装Grape在它上面:

我对其进行了基准测试:

它表明每秒可以处理大约 250 个请求。但是当我注释掉这行时require 'grape',这个值突然增加到了 700 左右。有人可以回答为什么简单require可以带来如此巨大的差异吗?

PS我使用MRI 2.2.2

0 投票
1 回答
30 浏览

ruby - 歌利亚表现不佳:响应时间短,等待时间长

所以我用Goliath开发了一个api,/list/users很简单,查询mysql然后返回。

请求本身需要Response Time: 53.84ms,但如果我用 10 个线程进行压力测试来请求服务器ab,我只能得到 20 个请求/秒。

同时,我在 Chrome 中访问请求,我看到了wait time: 400ms

怎么了?我该如何改进它?

我还创建了一个 nodejs 版本/list/users。请求本身也需要大约 50ms,但我在测试时可以得到 130 个请求/秒,等待时间几乎是 10ms。

我是不是做错了什么,Goliath 需要做任何设置吗?

而且我还想知道为什么nodejs可以有更多的请求/秒,因为单个请求响应时间是相同的?

0 投票
1 回答
63 浏览

ruby - Ruby Goliath 应用程序实际上是如何启动的?

这是歌利亚的一个例子:

定义类和子类化如何Goliath::API导致 Web 服务器启动?这不应该只是定义一个类,而不是实际实例化和执行一个吗?

0 投票
1 回答
152 浏览

ruby - Openshift 上的歌利亚

尝试使用以下 config.ru 在 Openshift 上部署 Goliath 应用程序

在我的测试平台环境中本地应用程序运行顺利,但在 Openshift 上返回以下权限错误。

有人在 Openshift 上运行 goliath 吗?

谢谢,