projects
/
vpproxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Добавлено отладочный интерфейс.
[vpproxy.git]
/
vphttp.py
diff --git
a/vphttp.py
b/vphttp.py
index d5f90181ee05a141fb707dc3a35802df21c8b0e7..0a6ae43d3d3379e36cbaa5c4dec5c79a56f66341 100644
(file)
--- a/
vphttp.py
+++ b/
vphttp.py
@@
-27,6
+27,7
@@
import hashlib
import vpconfig
from vpconfig import VPConfig
import vlcclient
import vpconfig
from vpconfig import VPConfig
import vlcclient
+import gc
import plugins.modules.ipaddr as ipaddr
from clientcounter import ClientCounter
from plugins.modules.PluginInterface import VPProxyPlugin
import plugins.modules.ipaddr as ipaddr
from clientcounter import ClientCounter
from plugins.modules.PluginInterface import VPProxyPlugin
@@
-187,7
+188,6
@@
class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def handleRequest(self, headers_only):
# Limit concurrent connections
def handleRequest(self, headers_only):
# Limit concurrent connections
- print VPStuff.clientcounter.total
if 0 < VPConfig.maxconns <= VPStuff.clientcounter.total:
logger.debug("Maximum connections reached, can't serve this")
self.dieWithError(503) # 503 Service Unavailable
if 0 < VPConfig.maxconns <= VPStuff.clientcounter.total:
logger.debug("Maximum connections reached, can't serve this")
self.dieWithError(503) # 503 Service Unavailable
@@
-236,6
+236,7
@@
class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
logger.debug(
"Sending fake headers for " + useragent)
self.send_response(200)
logger.debug(
"Sending fake headers for " + useragent)
self.send_response(200)
+ self.send_header('Cache-Control','no-cache');
if self.reqtype=="ogg":
self.send_header("Content-Type", "video/ogg")
else:
if self.reqtype=="ogg":
self.send_header("Content-Type", "video/ogg")
else:
@@
-296,6
+297,8
@@
class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
for key in self.video.info().dict:
self.send_header(key, self.video.info().dict[key])
for key in self.video.info().dict:
self.send_header(key, self.video.info().dict[key])
+ self.send_header('Cache-Control','no-cache');
+
if self.reqtype=="ogg":
self.send_header("Content-Type", "video/ogg")
else:
if self.reqtype=="ogg":
self.send_header("Content-Type", "video/ogg")
else:
@@
-336,7
+339,11
@@
class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
except:
pass
self.vp.destroy()
except:
pass
self.vp.destroy()
-
+ if not self.headersent:
+ logger.error("Problem receiving video stream, no headers!")
+ if VPStuff.clientcounter.total == 0:
+ logger.error("Probably VLC hang")
+ VPStuff.vlc.kill()
class HTTPServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
class HTTPServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
@@
-403,6
+410,7
@@
for i in pluginslist:
continue
logger.debug('Plugin loaded: ' + plugname)
for j in plugininstance.handlers:
continue
logger.debug('Plugin loaded: ' + plugname)
for j in plugininstance.handlers:
+ logger.info("Registering handler '" + j +"'")
VPStuff.pluginshandlers[j] = plugininstance
VPStuff.pluginlist.append(plugininstance)
VPStuff.pluginshandlers[j] = plugininstance
VPStuff.pluginlist.append(plugininstance)