Tôi đã gửi yêu cầu POST tới ứng dụng Sinatra. Tôi nhận thấy rằng các tham số đến trong máy chủ như một StringIO. Nó có thể được đọc bằng cách sử dụng request.body.read
. Tuy nhiên, nó chỉ có thể được đọc một lần. Để đọc lại, tôi cần chạy request.body.rewind
(haha, Sinatra).Tại sao Sinatra cần phải tua lại thân yêu cầu?
Tại sao thiết bị được thiết kế theo cách này? Tôi có thể thấy điều này hữu ích trong việc truyền dữ liệu nhưng có các ứng dụng khác không?
Tôi cũng tự hỏi về điều này từ [ví dụ về webhook GitHub] (https://developer.github.com/webhooks/securing/). – Leo