簡體   English   中英

如何在oat++ hls服務器的響應header中添加cors

[英]How to add cors in response header of oat++ hls server

auto response = controller->createResponse(Status::CODE_200, controller->livePlaylist->generateForTime(time, 5)->toString());
      response->putHeader("Accept-Ranges", "bytes");
      //response->putHeader(allow_origin = "*");
      response->putHeader(Header::CONNECTION, Header::Value::CONNECTION_KEEP_ALIVE);
      response->putHeader(Header::CONTENT_TYPE, "application/x-mpegURL");
      response->putHeader(Header::CORS_METHODS,"GET, POST, PUT, OPTIONS, DELETE");
      response->putHeader(Header::CORS_ORIGIN, "*");
      response->putHeader(Header::CORS_HEADERS, "DNT, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Range");
      response->putHeader(Header::CORS_MAX_AGE, "1728000");
      return _return(response);

這是異步端點的響應 header。

這是使用 oat++ 框架在 hls stream 的響應 header 中添加 cor 的正確方法嗎?

在 oat++ 框架中添加 cors 的正確方法是什么?

Oat++ 具有處理 CORS 的內置功能。只需將這些請求和響應攔截器添加到您的AsyncHttpConnectionHandler

#include "oatpp/web/server/interceptor/AllowCorsGlobal.hpp"

...

  OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::ConnectionHandler>, serverConnectionHandler)([] {

    OATPP_COMPONENT(std::shared_ptr<oatpp::web::server::HttpRouter>, router); // get Router component

    auto connectionHandler = oatpp::web::server::AsyncHttpConnectionHandler::createShared(router);

    /* Add CORS-enabling interceptors */
    connectionHandler->addRequestInterceptor(std::make_shared<oatpp::web::server::interceptor::AllowOptionsGlobal>());
    connectionHandler->addResponseInterceptor(std::make_shared<oatpp::web::server::interceptor::AllowCorsGlobal>());

    return connectionHandler;

  }());

暫無
暫無

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

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