Я хочу внедрить сервер WebDAV в Flask.
При получении OPTIONS
http-запросов сервер должен отправить ответ с заголовком DAV: 1
.
Однако мне не удается это сделать ...
Вот мое Flask приложение
from flask import Flask, make_response
app = Flask(__name__)
@app.route("/")
def options(methods=["GET", "OPTIONS"]):
resp = make_response("hello")
resp.headers['DAV'] = '1'
return resp
Когда я отправляю запрос GET
, заголовок установлен правильно:
curl -i -X GET http://127.0.0.1:5000/
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 5
DAV: 1
Server: Werkzeug/1.0.1 Python/3.8.1
Date: Wed, 22 Apr 2020 23:38:51 GMT
Но когда я отправляю запрос OPTIONS
, заголовок отсутствует:
curl -i -X OPTIONS http://127.0.0.1:5000/
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Allow: OPTIONS, GET, HEAD
Content-Length: 0
Server: Werkzeug/1.0.1 Python/3.8.1
Date: Wed, 22 Apr 2020 23:38:54 GMT
(Мы видим, что тело ответа тоже отсутствует. Но это нормально, сейчас мне это не нужно)
Как я могу изменить это поведение по умолчанию?
(я использую Flask 1.1.2 с Python 3.8.1)