1801d2b9fb
UD/AI + Client boots up.
36 lines
910 B
Python
36 lines
910 B
Python
from panda3d.core import *
|
|
|
|
class HTTPUtilException(Exception):
|
|
|
|
def __init__(self, what):
|
|
Exception.__init__(self, what)
|
|
|
|
|
|
class ConnectionError(HTTPUtilException):
|
|
|
|
def __init__(self, what, statusCode):
|
|
HTTPUtilException.__init__(self, what)
|
|
self.statusCode = statusCode
|
|
|
|
|
|
class UnexpectedResponse(HTTPUtilException):
|
|
|
|
def __init__(self, what):
|
|
HTTPUtilException.__init__(self, what)
|
|
|
|
|
|
def getHTTPResponse(url, http, body = ''):
|
|
if body:
|
|
hd = http.postForm(url, body)
|
|
else:
|
|
hd = http.getDocument(url)
|
|
if not hd.isValid():
|
|
raise ConnectionError('Unable to reach %s' % url.cStr(), hd.getStatusCode())
|
|
stream = hd.openReadBody()
|
|
sr = StreamReader(stream, 1)
|
|
response = sr.readlines()
|
|
for i in range(len(response)):
|
|
if response[i][-1] == '\n':
|
|
response[i] = response[i][:-1]
|
|
|
|
return response
|