Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何完全阻止rails操作响应任何类型的HTTP状态?_Ruby_Ruby On Rails 3_Ruby On Rails 3.2 - Fatal编程技术网

Ruby 如何完全阻止rails操作响应任何类型的HTTP状态?

Ruby 如何完全阻止rails操作响应任何类型的HTTP状态?,ruby,ruby-on-rails-3,ruby-on-rails-3.2,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,轨道3.2.13。JRUBY 1.7.15。RUBY 1.9.3作为解释器 有没有办法阻止Rails操作的响应?我想这样做,以避免任何类型的响应被发送回匿名黑客。索引之前有一个约束检查,如果约束检查失败,理想情况下索引方法应该停止响应。这是RESTAPI中的一小部分,用于阻止将任何http状态发送回操作 欢迎提出任何建设性建议 i、 e 谢谢大家的帮助。尽管REST API可能会发送有效的HTTP响应,但您可以通过关闭底层输出流来抑制任何输出。这通过机架的API公开(假设您的服务器支持): 这将

轨道3.2.13。JRUBY 1.7.15。RUBY 1.9.3作为解释器

有没有办法阻止Rails操作的响应?我想这样做,以避免任何类型的响应被发送回匿名黑客。索引之前有一个约束检查,如果约束检查失败,理想情况下索引方法应该停止响应。这是RESTAPI中的一小部分,用于阻止将任何http状态发送回操作

欢迎提出任何建设性建议

i、 e


谢谢大家的帮助。

尽管REST API可能会发送有效的HTTP响应,但您可以通过关闭底层输出流来抑制任何输出。这通过机架的API公开(假设您的服务器支持):

这将导致一个空的回复,即服务器只是关闭连接而不发送任何数据:

$ curl -v http://localhost:3000/
* Connected to localhost port 3000
> GET / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: localhost:3000
> Accept: */*
>
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server

你能解释一下你为什么否决它吗?rack.jackit有源代码吗?我好像在架子上找不到?谢谢。@TheMouseMan它是由服务器实现的。以下是Puma如何实现调用的方法:
def index
  if env['rack.hijack?']
    env['rack.hijack'].call
    io = env['rack.hijack_io']
    io.close
  end
end
$ curl -v http://localhost:3000/
* Connected to localhost port 3000
> GET / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: localhost:3000
> Accept: */*
>
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server