support http hooks: on_connect/close/publish/unpublish/play/stop.

pull/133/head
winlin 11 years ago
parent 889ad9238b
commit 3fd3ac5a11

@ -88,7 +88,8 @@ vhost dev {
#forward 127.0.0.1:19350; #forward 127.0.0.1:19350;
#forward 127.0.0.1:1936; #forward 127.0.0.1:1936;
http_hooks { http_hooks {
on_connect http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients; enabled on;
on_connect http://127.0.0.1:8085/api/v1/clients;
on_close http://127.0.0.1:8085/api/v1/clients; on_close http://127.0.0.1:8085/api/v1/clients;
on_publish http://127.0.0.1:8085/api/v1/streams; on_publish http://127.0.0.1:8085/api/v1/streams;
on_unpublish http://127.0.0.1:8085/api/v1/streams; on_unpublish http://127.0.0.1:8085/api/v1/streams;
@ -136,6 +137,9 @@ vhost dev {
# the http hook callback vhost, srs will invoke the hooks for specified events. # the http hook callback vhost, srs will invoke the hooks for specified events.
vhost hooks.callback.vhost.com { vhost hooks.callback.vhost.com {
http_hooks { http_hooks {
# whether the http hooks enalbe.
# default off.
enabled on;
# when client connect to vhost/app, call the hook, # when client connect to vhost/app, call the hook,
# the request in the POST data string is a object encode by json: # the request in the POST data string is a object encode by json:
# { # {

@ -575,6 +575,11 @@ SrsConfDirective* SrsConfig::get_vhost_on_connect(std::string vhost)
return NULL; return NULL;
} }
SrsConfDirective* enabled = conf->get("enabled");
if (!enabled || enabled->arg0() != "on") {
return NULL;
}
return conf->get("on_connect"); return conf->get("on_connect");
} }
@ -591,6 +596,11 @@ SrsConfDirective* SrsConfig::get_vhost_on_close(std::string vhost)
return NULL; return NULL;
} }
SrsConfDirective* enabled = conf->get("enabled");
if (!enabled || enabled->arg0() != "on") {
return NULL;
}
return conf->get("on_close"); return conf->get("on_close");
} }
@ -607,6 +617,11 @@ SrsConfDirective* SrsConfig::get_vhost_on_publish(std::string vhost)
return NULL; return NULL;
} }
SrsConfDirective* enabled = conf->get("enabled");
if (!enabled || enabled->arg0() != "on") {
return NULL;
}
return conf->get("on_publish"); return conf->get("on_publish");
} }
@ -623,6 +638,11 @@ SrsConfDirective* SrsConfig::get_vhost_on_unpublish(std::string vhost)
return NULL; return NULL;
} }
SrsConfDirective* enabled = conf->get("enabled");
if (!enabled || enabled->arg0() != "on") {
return NULL;
}
return conf->get("on_unpublish"); return conf->get("on_unpublish");
} }
@ -639,6 +659,11 @@ SrsConfDirective* SrsConfig::get_vhost_on_play(std::string vhost)
return NULL; return NULL;
} }
SrsConfDirective* enabled = conf->get("enabled");
if (!enabled || enabled->arg0() != "on") {
return NULL;
}
return conf->get("on_play"); return conf->get("on_play");
} }
@ -655,6 +680,11 @@ SrsConfDirective* SrsConfig::get_vhost_on_stop(std::string vhost)
return NULL; return NULL;
} }
SrsConfDirective* enabled = conf->get("enabled");
if (!enabled || enabled->arg0() != "on") {
return NULL;
}
return conf->get("on_stop"); return conf->get("on_stop");
} }

Loading…
Cancel
Save