1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

refine the http crossdomain, send it only required

This commit is contained in:
winlin 2014-04-03 16:39:55 +08:00
parent 133a6f0dbf
commit 4984631cd6
4 changed files with 58 additions and 18 deletions

View file

@ -80,7 +80,7 @@ int SrsApiRoot::do_process_request(SrsSocket* skt, SrsHttpMessage* req)
<< JOBJECT_END
<< JOBJECT_END;
return res_json(skt, ss.str());
return res_json(skt, req, ss.str());
}
SrsApiApi::SrsApiApi()
@ -108,7 +108,7 @@ int SrsApiApi::do_process_request(SrsSocket* skt, SrsHttpMessage* req)
<< JOBJECT_END
<< JOBJECT_END;
return res_json(skt, ss.str());
return res_json(skt, req, ss.str());
}
SrsApiV1::SrsApiV1()
@ -138,7 +138,7 @@ int SrsApiV1::do_process_request(SrsSocket* skt, SrsHttpMessage* req)
<< JOBJECT_END
<< JOBJECT_END;
return res_json(skt, ss.str());
return res_json(skt, req, ss.str());
}
SrsApiVersion::SrsApiVersion()
@ -168,7 +168,7 @@ int SrsApiVersion::do_process_request(SrsSocket* skt, SrsHttpMessage* req)
<< JOBJECT_END
<< JOBJECT_END;
return res_json(skt, ss.str());
return res_json(skt, req, ss.str());
}
SrsApiAuthors::SrsApiAuthors()
@ -197,7 +197,7 @@ int SrsApiAuthors::do_process_request(SrsSocket* skt, SrsHttpMessage* req)
<< JOBJECT_END
<< JOBJECT_END;
return res_json(skt, ss.str());
return res_json(skt, req, ss.str());
}
SrsHttpApi::SrsHttpApi(SrsServer* srs_server, st_netfd_t client_stfd, SrsHttpHandler* _handler)
@ -205,6 +205,7 @@ SrsHttpApi::SrsHttpApi(SrsServer* srs_server, st_netfd_t client_stfd, SrsHttpHan
{
parser = new SrsHttpParser();
handler = _handler;
requires_crossdomain = false;
}
SrsHttpApi::~SrsHttpApi()
@ -284,6 +285,7 @@ int SrsHttpApi::process_request(SrsSocket* skt, SrsHttpMessage* req)
srs_info("best match handler, matched_url=%s", p->matched_url.c_str());
req->set_match(p);
req->set_requires_crossdomain(requires_crossdomain);
// use handler to process request.
if ((ret = p->handler->process_request(skt, req)) != ERROR_SUCCESS) {
@ -291,6 +293,10 @@ int SrsHttpApi::process_request(SrsSocket* skt, SrsHttpMessage* req)
return ret;
}
if (req->requires_crossdomain()) {
requires_crossdomain = true;
}
return ret;
}