2014-10-22 65 views
0

我想返回json(字符串)的http HEAD方法在sinatra上。
但似乎sinatra沒有返回HEAD請求的任何響應主體。sinatra HEAD方法

我試過這段代碼。

 
require 'sinatra' 

head "/" do 
    "HEAD" 
end 

而且我做了curl -X HEAD 'http://localhost:4567/'。 但是該命令不會返回一段時間,並最終在下面引發錯誤。

 
$ curl -X HEAD 'http://localhost:4567/' 
curl: (18) transfer closed with 5 bytes remaining to read 
+0

你的意思是在第3行有'get'而不是'head'嗎?不確定你正在嘗試做什麼,但對於標題,[本文檔](http://www.sinatrarb.com/intro.html#Setting%20Body,%20Status%20Code%20and%20Headers)可能會有所幫助。 – vgoff 2014-10-22 02:29:14

+1

感謝您的信息。我想處理http HEAD方法請求。 – 2014-10-22 08:35:31

回答

1

這是一個完全有效的Sinatra head路線。問題在於你的捲曲聲明。

curl -X HEAD 'http://localhost:4567/' 

-X HEAD不是你想要的;它不會打印標題,並且會期望在內容長度中規定的預期字節傳輸的一些規範。

取而代之,您需要以下內容。

curl -I http://localhost:4567/ 
+0

你的命令'curl -I ...'效果很好。謝謝!!! – 2014-10-22 08:37:15