我正在编写模拟Ruby服务器来测试API的组件。我发送一个带有正文的POST请求,我希望我的模拟服务器返回该POST请求的正文。目前我有这个代码:
require 'socket'
webserver = TCPServer.new('127.0.0.1', 7125)
loop do
session = webserver.accept
session.print "HTTP/1.1 200/OK\r\nContent-type:text/html\r\n\r\n"
request = session.gets
session.puts request
session.close
end
主体FOO
的POST请求会返回一个只包含POST / HTTP/1.1
的正文的响应如何解决?
答案 0 :(得分:0)
编写自己的HTTP服务器确实会让你遇到麻烦,因为规范虽然表面上很简单,但却有许多微妙的细微差别可能会让你感到沮丧。在这种情况下,您正在使用gets
读取一行并忽略大部分提交。您将不得不通过读入并正确解码发布的数据来解决这个问题。
对于熟悉界面的内容,您可以从Net::HTTP::Server开始。