Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2015-08-10 16:41:25 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
c5bf3972956f41005347937e25e8244f15c57e1e
c5bf3972
1 parent
fbcc07d8
fix the http error header.
显示空白字符变更
内嵌
并排对比
正在显示
4 个修改的文件
包含
48 行增加
和
3 行删除
trunk/src/app/srs_app_http_api.cpp
trunk/src/app/srs_app_http_api.hpp
trunk/src/app/srs_app_http_conn.cpp
trunk/src/app/srs_app_server.cpp
trunk/src/app/srs_app_http_api.cpp
查看文件 @
c5bf397
...
...
@@ -109,7 +109,8 @@ int SrsGoApiV1::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
<<
SRS_JFIELD_STR
(
"authors"
,
"the primary authors and contributors"
)
<<
SRS_JFIELD_CONT
<<
SRS_JFIELD_STR
(
"requests"
,
"the request itself, for http debug"
)
<<
SRS_JFIELD_CONT
<<
SRS_JFIELD_STR
(
"vhosts"
,
"dumps vhost to json"
)
<<
SRS_JFIELD_CONT
<<
SRS_JFIELD_STR
(
"streams"
,
"dumps streams to json"
)
<<
SRS_JFIELD_STR
(
"streams"
,
"dumps streams to json"
)
<<
SRS_JFIELD_CONT
<<
SRS_JFIELD_STR
(
"errors"
,
"always return an error 100."
)
<<
SRS_JOBJECT_END
<<
SRS_JOBJECT_END
;
...
...
@@ -474,6 +475,26 @@ int SrsGoApiStreams::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
return
srs_http_response_json
(
w
,
ss
.
str
());
}
SrsGoApiError
::
SrsGoApiError
()
{
}
SrsGoApiError
::~
SrsGoApiError
()
{
}
int
SrsGoApiError
::
serve_http
(
ISrsHttpResponseWriter
*
w
,
ISrsHttpMessage
*
r
)
{
std
::
stringstream
ss
;
ss
<<
SRS_JOBJECT_START
<<
SRS_JFIELD_ERROR
(
100
)
<<
SRS_JFIELD_CONT
<<
SRS_JFIELD_STR
(
"msg"
,
"SRS demo error."
)
<<
SRS_JOBJECT_END
;
return
srs_http_response_json
(
w
,
ss
.
str
());
}
SrsHttpApi
::
SrsHttpApi
(
IConnectionManager
*
cm
,
st_netfd_t
fd
,
SrsHttpServeMux
*
m
)
:
SrsConnection
(
cm
,
fd
)
{
...
...
trunk/src/app/srs_app_http_api.hpp
查看文件 @
c5bf397
...
...
@@ -159,6 +159,15 @@ public:
virtual
int
serve_http
(
ISrsHttpResponseWriter
*
w
,
ISrsHttpMessage
*
r
);
};
class
SrsGoApiError
:
public
ISrsHttpHandler
{
public
:
SrsGoApiError
();
virtual
~
SrsGoApiError
();
public
:
virtual
int
serve_http
(
ISrsHttpResponseWriter
*
w
,
ISrsHttpMessage
*
r
);
};
class
SrsHttpApi
:
public
SrsConnection
{
private
:
...
...
trunk/src/app/srs_app_http_conn.cpp
查看文件 @
c5bf397
...
...
@@ -102,14 +102,16 @@ int SrsHttpResponseWriter::write(char* data, int size)
{
int
ret
=
ERROR_SUCCESS
;
// write the header data in memory.
if
(
!
header_wrote
)
{
write_header
(
SRS_CONSTS_HTTP_OK
);
}
// whatever header is wrote, we should try to send header.
if
((
ret
=
send_header
(
data
,
size
))
!=
ERROR_SUCCESS
)
{
srs_error
(
"http: send header failed. ret=%d"
,
ret
);
return
ret
;
}
}
// check the bytes send and content length.
written
+=
size
;
...
...
trunk/src/app/srs_app_server.cpp
查看文件 @
c5bf397
...
...
@@ -770,7 +770,7 @@ int SrsServer::http_handle()
#ifdef SRS_AUTO_HTTP_API
srs_assert
(
http_api_mux
);
if
((
ret
=
http_api_mux
->
handle
(
"/"
,
new
Srs
GoApiRoot
()))
!=
ERROR_SUCCESS
)
{
if
((
ret
=
http_api_mux
->
handle
(
"/"
,
new
Srs
HttpNotFoundHandler
()))
!=
ERROR_SUCCESS
)
{
return
ret
;
}
if
((
ret
=
http_api_mux
->
handle
(
"/api"
,
new
SrsGoApiApi
()))
!=
ERROR_SUCCESS
)
{
...
...
@@ -809,6 +809,19 @@ int SrsServer::http_handle()
if
((
ret
=
http_api_mux
->
handle
(
"/api/v1/streams"
,
new
SrsGoApiStreams
()))
!=
ERROR_SUCCESS
)
{
return
ret
;
}
// for error test which always response error code 100.
if
((
ret
=
http_api_mux
->
handle
(
"/api/v1/errors"
,
new
SrsGoApiError
()))
!=
ERROR_SUCCESS
)
{
return
ret
;
}
// TODO: FIXME: for console.
// TODO: FIXME: support reload.
std
::
string
dir
=
_srs_config
->
get_http_stream_dir
()
+
"/srs-console"
;
if
((
ret
=
http_api_mux
->
handle
(
"/console/"
,
new
SrsHttpFileServer
(
dir
)))
!=
ERROR_SUCCESS
)
{
srs_error
(
"http: mount console dir=%s failed. ret=%d"
,
dir
.
c_str
(),
ret
);
return
ret
;
}
srs_trace
(
"http: console mount to %s"
,
dir
.
c_str
());
#endif
return
ret
;
...
...
请
注册
或
登录
后发表评论