[英]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.