Как добавить заголовок с пустым значением в ответ http (Response.Headers)? - PullRequest
0 голосов
/ 10 февраля 2020

Я хочу интегрировать свой веб-сайт с офисом в сети, используя протокол WOPI. Я использую веб-API asp. net core (3.0) для реализации сервера WOPI. Согласно документации протокола: https://wopi.readthedocs.io/projects/wopirest/en/latest/files/Unlock.html::

Заголовки ответа X-WOPI-Lock - Строковое значение, идентифицирующее текущую блокировку файла. Этот заголовок всегда должен быть включен при ответе на запрос с конфликтом 409.

Когда файл не заблокирован, и я получил запрос на его разблокировку, мне нужно ответить "409 Конфликт "с заголовком, который содержит пустое значение: X-WOPI-Lock:" "

Я пытался использовать:

[ApiController]
public class filesController : ControllerBase
{

    [HttpPost]
    [Route("wopi/files/{id}")]
    public IActionResult Post(Guid id)
    {
        var result = new StatusCodeResult((int)HttpStatusCode.Conflict);
        HttpContext.Response.Headers.Add("X-WOPI-Lock", string.Empty);
        return result;
    } }

и посмотреть как asp. net ядро ​​игнорирует пустой заголовок, потому что он отсутствует на клиенте, я вижу это с помощью инструмента проверки Microsoft для WOPI enter image description here

Если я добавлю несколько проверить значение заголовка, оно появилось в ответе:

HttpContext.Response.Headers.Add ("X-WOPI-Lock", "Some value");

В инструменте проверки я вижу ошибку: enter image description here

Похоже, мне нужно создать http-ответ, содержащий заголовок с пустым значением: X-WOPI -Замок: "" .

Как я могу это сделать?

...