从S3开始在Sinatra中提供HTML文件

时间:2014-11-03 18:03:24

标签: ruby amazon-web-services ember.js amazon-s3 sinatra

我已经查看过几个与我的问题有些相似的问题,但还没有找到很好的实现(例如one)。

现在我们在S3中托管了一个Ember应用程序,每当我们想要更新S3中的内容时,我们就会运行一个简单的grunt任务。一切正常,一切都被推了。

现在我们想要使用Sinatra基本上服务它。

我想做的是像

require 'sinatra'

get '/*' do
  render 'https://s3.amazonaws.com/bucket-name/index.html'
end

这样任何进入的请求都默认为root并加载了ember应用程序。

我们将Ember应用程序存储在S3中,我们认为它是迄今为止我们发现的最佳/最安全的部署,这种实现方式很好,但我无法让sinatra实际加载它。我考虑获取文件,将其写入public/index.html(参见上面的链接),然后渲染它,但这对我们需要的东西来说太过分了。

对其他想法持开放态度,但如果可能的话,我希望沿着这条路走下去。

1 个答案:

答案 0 :(得分:1)

我通过这样做得到了它:

require 'sinatra'
require 'httparty'

get '/*' do
  url = 'https://s3.amazonaws.com/bucket-name/index.html'
  resp = HTTParty.get(url)
  resp.body
end