簡體   English   中英

Sabredav沒有php:// input(Kohana)

[英]Sabredav with no php://input (Kohana)

我有一個框架,在sabredav可以在PUT上獲取它之前,它會吃掉php://input

有沒有一種方法可以在Sabre\\HTTP\\Request調用setBody(),所以我可以從我的框架( http://kohanaframework.org )傳遞它,這樣getBody()不會嘗試從空白的 php://input獲取它php://input

我想嘗試避免入侵Sabre\\DAV\\Server和/或Sabre\\HTTP\\Request但不確定最好的方法是什么。

框架“包裝”代碼在此處(Sabredav示例中server.php的實現)

https://github.com/chrisgo/kohana-sabredav/blob/master/classes/Kohana/Controller/Webdav.php


原始問題: SabreDAV + Nginx + PUT(創建0字節文件)

最干凈的解決方案似乎是創建一個插件來攔截PUT方法,並將主體設置回sabredav期望的位置

public function httpPutInterceptor($method, $uri) {
    $this->server->httpRequest->setBody($this->body);
}

完整的模塊: https : //github.com/chrisgo/kohana-sabredav

...現在我只需要弄清楚nginx為什么在二進制文件PUT和文本文件PUT上返回405(正確的行為,將其傳遞給PHP)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM