Ruby/Rack 中的多部分响应

2023-12-05

我希望我的服务器发送多部分响应(multipart/x-mixed-replace)。我更喜欢使用 Sinatra 框架或通用 Rack 应用程序的某种解决方案,但 ruby​​ 中的任何示例都很好。这相当于我在 PHP 中尝试做的事情:

<?php
  header('Content-type: multipart/x-mixed-replace;boundary="rn9012"');

  print "--rn9012\n";
  print "Content-type: application/xml\n\n";
  print "<?xml version='1.0'?>\n";
  print "<content>First Part</content>\n";
  print "--rn9012\n";
  flush();

  sleep(5);
  print "Content-type: application/xml\n\n";
  print "<?xml version='1.0'?>\n";
  print "<content>Second Part</content>\n";
  print "--rn9012--\n";

?>

您可以使用 out.flush 方法来执行此操作:

class TestController < ApplicationController
  def index
    render :text => lambda { |resp, out|
      out.puts 'start'
      out.flush
      10.times do
        out.puts '.'
        out.flush
        sleep 1
      end
      out.puts 'done'
    }
  end
end

但是,请记住,如果您使用 Mongrel 来服务您的 Ruby 代码(正如许多使用 RoR 的人所做的那样),您将根本无法进行流式传输。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby/Rack 中的多部分响应 的相关文章

  • Emacs、ruby:将 do 结束块转换为大括号,反之亦然

    我经常发现自己转换这样的代码 before do something end to before something 有没有办法在 emacs 中自动执行此任务 我使用 ruby mode 和 rinary 但它们在这里没有太大帮助 rub
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • rspec 中的模拟方法链

    有一系列方法可以获得user目的 我试图模拟以下内容以返回user in my Factory Girl current user AuthorizeApiRequest call request headers result 我可以模拟该
  • 如何在initialize()中使用define_method

    尝试使用define method inside initialize但得到未定义的方法define method 我究竟做错了什么 class C def initialize n define method n puts some me
  • 如何全局忽略 UTF-8 字符串中的无效字节序列?

    我有一个 Rails 应用程序从 Rails 版本 1 以来的迁移中幸存下来 我想忽略all其上的无效字节序列 以保持向后兼容性 我不知道输入编码 示例 gt Men xFC split n ArgumentError invalid by
  • 使用 RSpec 测试导轨金属/机架?

    假设我有一个名为 Preview 的 Metal 类 如何使用 RSpec 进行测试 当我尝试时 require spec helper describe Preview do it should return the posted con
  • 在 Rails 中呈现路由错误的 404 页面

    我试图在 Rails 中渲染集成的 404 页面作为例外 我尝试了这个 但仍然收到路由错误页面 posts controller rb def destroy if current user username post email post
  • 随机采样数组的唯一子集

    如果我有一个数组 a 1 2 3 如何随机选择数组的子集 以使每个子集的元素都是唯一的 也就是说 对于a可能的子集是 1 2 3 1 2 2 3 1 2 3 我无法生成所有可能的子集 因为 a 的实际大小非常大 因此有很多很多子集 目前 我
  • 默认:Rails 资源路由的排除选项

    一个小问题 我正在将 Rails 用于 REST API 但由于它是 RESTful API 所以我并不真正需要 new or edit我的任何资源的路由 因为人们只会完全通过自动 JSON 请求而不是图形方式与此 API 交互 例如 不需
  • 覆盖 Sinatra 默认的 NotFound 错误页面

    有没有办法覆盖 sinatra 默认的 NotFound 错误页面 Sinatra 不知道这个小曲 我希望 sinatra 在未找到正确的路由时仅将纯字符串显示为 未找到方法 但是当我从路由内部引发 404 错误时 我希望它显示传入的错误消
  • 如何在 Ruby 中动态调用访问器方法[重复]

    这个问题在这里已经有答案了 不管这是否是好的做法 我如何在 Ruby 中动态调用访问器方法 这是一个示例类 class Test Class attr accessor a b end 我可以使用 Object send 方法来读取变量 i
  • HMC SHA1 哈希 - C# 生成与 Ruby 不同的哈希输出

    我正在尝试为我正在使用的第三方服务快速获取一个有缺陷的 Net 客户端库 原始库 可以运行 是用 Ruby 编写的 但 DotNet 的等效库会向 Ruby 库生成不同的哈希输出 Ruby加密代码如下 def self encrypt st
  • 由于 MIME 类型不受支持,拒绝应用样式

    我不断收到一条错误消息 指出 MIME 类型 text html 不可执行或不是受支持的样式表 MIME 类型 并且启用了严格的 MIME 检查 我的链接代码是
  • 我应该如何使用 alias_method_chain 作为构建方法?

    我正在使用 Ruby on Rails 3 2 13 我想正确使用alias method chain build option name声明 因为我收到一个奇怪的错误 那是 在我的控制器文件中我有 class Articles Comme
  • 使用 Mountain Lion、Xcode 4.5 和 RVM 安装 Ruby?

    rvm install 1 9 3 with gcc clang 根据建议无法使用 RVM 在 Lion 下安装 Ruby GCC 问题 https stackoverflow com questions 8032824 cant inst
  • 从静态方法调用 Response.TransmitFile()

    我有许多页面需要支持将数据导出到 Excel 电子表格 我可以很好地生成 Excel 文件 但我正在尝试找出如何抽象此行为 以便可以轻松地从我需要它的所有页面中重用它 我目前的想法是使用静态实用方法 如下 public static voi
  • Rails: :inverse_of 和关联扩展

    我有以下设置 class Player lt ActiveRecord Base has many cards inverse of gt player do def in hand find all by location hand en
  • 加载“mysql2”Active Record 适配器时出错

    我正在尝试升级我的应用程序 这是我在部署应用程序时遇到的错误 加载 mysql2 Active Record 适配器时出错 缺少它所依赖的宝石 无法激活mysql2 0 4 4 已经激活mysql2 0 3 21 确保所有依赖项都添加到 G
  • 使用 Ruby 重命名 S3 中的对象

    我想使用 Ruby sdk 重命名 s3 中的项目 我该怎么做呢 我努力了 require aws sdk s3 AWS config region gt region access key id gt key secret access
  • Rails 基本 Base64 身份验证

    我正在尝试复制此 GET curl 请求 curl D X GET H Authorization Basic dGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2Nl

随机推荐

  • 如何从 data.frame 中制作 googleVis 多个 Sankey?

    Aim 我的目标是使用 R 中的多个 SankeygoogleVis包裹 输出应类似于以下内容 Data 我在 R 中创建了一些虚拟数据 set seed 1 source lt sample c North South East West
  • 如何定义国际键盘的可读快捷键?

    我想我可以使用键盘按键的字符串表示来配置快捷键 即让某人在资源包中定义击键并将该值直接传递给javax swing KeyStroke getKeyStroke String 但这不适用于国际键盘 例如阿拉伯 在那里 键盘按键只是高级按键类
  • 类图 - 从类到接口的依赖关系或关联?

    我有一个关于创建使用依赖注入的类图的问题 我有以下代码示例 public class ReservationController ApiController private readonly IGetReservationService g
  • 使用 python 循环退一步、前进一步

    我需要循环包含法语单词的列表并找到一个星号 因为每次出现星号时我想连接星号之前的单词和星号之后的单词并继续到下一个 例如 在序列中 les engage ment de la 我想连接 engage 和 ment 并且输出 engageme
  • NPM 在 docker 容器内从 github 安装某些内容失败

    我一直在尝试从 github 存储库安装一些东西并在里面运行它 我用了npm install github openfn core v1 0 0在我的项目目录中添加了 core github openfn core v1 0 0 到 pac
  • SSIS 使用 OAuth2 将 Python 脚本执行进程任务到 API - 使用保存的令牌访问被拒绝的文件

    我有奇怪的问题 不知道要进一步检查什么 情况概要 以管理员身份在 Windows Server 2016 上工作 因此不应有任何访问问题 开发了一些Python脚本 用于从Google Analytics获取数据 作为基础这个例子 但仅从一
  • 页脚位于浏览器底部,滚动时除外

    我遇到了一个奇怪的页脚问题 http jsfiddle net YGAvd 如果我扩大或缩小窗口 页面底部的云将粘在浏览器窗口的底部 但是当我向下滚动时 页脚会出现在页面中间 这在我的任何其他页面上都不是问题 因为在出 现滚动条之前它们都适
  • iOS:调用 AppDelegate 的打开 url 时不显示 Touch Id

    我的应用程序支持从其他应用程序打开图像 pdf 等文档 Touch Id 实现如下图 app 进入前台时请求 NotificationCenter default addObserver forName UIApplicationWillE
  • Windows Phone 8 - 使用 Binding 将 byte[] 数组加载到 XAML 图像中

    我将图像存储为 byte 数组 因为我无法将它们存储为 BitmapImage ShotItem 类将存储在 ObservableCollection 中的isolatedStorage 中 namespace MyProject Mode
  • 需要有关从 Android 设备发送短信的帮助

    朋友们 任何人都提供一些示例代码来从 Android 设备发送短信 提前致谢 public void sendAText String phonenumber Intent intent new Intent Intent ACTION V
  • 将 char 指针作为结构成员写入文件问题

    我有一个 char 结构成员 并在结构初始化时将其分配给字符串文字 John 如下所示 使用 printf 可以很好地打印字符串 但是 如果我使用 fwrite 将此字符串写入文件 则在文件中我会读回垃圾 如果我使用 char 数组而不是
  • 如何链接到动态升压库?

    我编译了 boost lib 并得到了这些 Shared dynamic link libraries 24 03 2010 11 25 PM 53 248 boost thread vc80 mt 1 42 dll 24 03 2010
  • Rails 4 中命名空间路由的单独域

    我正在开发 Rails 4 应用程序 该应用程序的一部分是客户门户 必须从单独的域访问 通过导航到 我一切正常domain com cp 路由使用命名空间控制器 namespace cp do get dashboard to dashbo
  • eclipse中不在工作区中的项目的位置

    我有多个项目存储在我的本地计算机上 但不在我正在使用的 Eclipse 工作区中 但是当我打开同一个 Eclipse 工作区时 项目就在那里 这是如何实现的 工作区的元数据中是否有一个设置指定项目的存储位置 使用这种方法而不是将项目存储在工
  • Angular 4 - rxjs BehaviourSubject 在服务中的使用

    我的服务代码如下所示 数据服务 Injectable export class DataService private serviceRequestDtoSource new BehaviorSubject
  • PFLogInViewController 不再被识别?

    我正在 iOS 8 上使用最新版本的 Parse 构建 iPhone 应用程序 有人知道 PFLogInViewController 是否仍然存在吗 我很难将其纳入我的项目中 Parse 的其他一切都工作得很好 唯一的问题是 PFLogIn
  • PrettyFaces 与必需属性发生错误

    我正在使用开发一个网络应用程序JSF 2 and 漂亮脸蛋 我注释了我的一个 ViewScoped带有漂亮注释的bean 这就是我所拥有的 ManagedBean ViewScoped URLMapping parentId app lis
  • db.collection 不是一个函数 React / Firestore

    尝试使用 React 将 Firestore 实现到 LinkedIn 克隆中 我相信导入 Firebase firestore 的新方式如下 firebase js import initializeApp from firebase a
  • SparkR显示汉字错误

    我是SparkR新手 这几天遇到一个问题 将包含中文字符的文件转换成SparkR后 它不再正确显示 像这样 city c 北京 上海 杭州 A lt as data frame city A city 1 北京 2 上海 3 杭州 然后 我
  • Ruby/Rack 中的多部分响应

    我希望我的服务器发送多部分响应 multipart x mixed replace 我更喜欢使用 Sinatra 框架或通用 Rack 应用程序的某种解决方案 但 ruby 中的任何示例都很好 这相当于我在 PHP 中尝试做的事情 n pr