def receiveData(self):
# TODO: read in chunks.
for line in str(self.socket.readAll()).split('\r\n'):
- print line
+ print self.httpRequestParser.i, line
self.httpRequestParser.handle(line)
response = self.httpRequestParser.result or self.configNotFound
http_response = self.responseTemplate % (len(response), response)
self.socket.write(http_response)
+ print
+ print http_response
+ print
self.httpRequestParser.reset()
self.socket.close()
def __init__(self, parent):
self.parent = parent
+ self.i = 0
self.reset()
def reset(self):
"""
Reset parser to initial state.
"""
+ self.i += 1
# Initial values for request data.
self.method = None
self.request_path = None
"""
Retrieve HTTP method, request path and HTTP version from request.
"""
- self.method, self.request_path, self.http_version = line.split(' ')
- self.state += 1
+ try:
+ self.method, self.request_path, self.http_version = line.split(' ')
+ self.state += 1
+ except ValueError:
+ pass
def handleHeaders(self, line):
"""
return True
def baseElements(self):
- root_elt = etree.Element('document')
+ root_elt = etree.Element('document', type='freeswitch/xml')
section_elt = etree.SubElement(
root_elt, 'section', name=self.section_name)
return root_elt, section_elt
configuration_elt = etree.SubElement(
section_elt, 'configuration', name=self.config_name,
description='%s config' % self.config_name)
- settings_elt = etree.SubElement(configuration_elt, 'settings')
- profiles_elt = etree.SubElement(settings_elt, 'profiles')
+ profiles_elt = etree.SubElement(configuration_elt, 'profiles')
database = self.model.controllers['connection'].model.database()
# Create domains for current profile.
domains_elt = etree.SubElement(profile_elt, 'domains')
domains_query = database.exec_(
- 'select host_name from ipypbxweb_domain where profile_id = '
+ 'select host_name from ipypbxweb_domain where sip_profile_id = '
'%i' % profile_id)
while domains_query.next():
domain_elt = etree.SubElement(
- domains_elt, 'domain', name=domains_quey.value(0),
- alias='true', parse='true')
+ domains_elt, 'domain',
+ name=domains_query.value(0).toString(), alias='true',
+ parse='true')
+
profile_sip_port, _ok = profiles_query.value(6).toInt()
gateways_query = database.exec_(
'''
select name, username, realm, from_domain, password,
- retry_seconds, expire_seconds, caller_id_in_from, extension
- from ipypbxweb_gateway where sipprofile_id = %i
+ retry_in_seconds, expire_in_seconds, caller_id_in_from_field,
+ extension
+ from ipypbxweb_gateway where sip_profile_id = %i
''' % profile_id)
while gateways_query.next():
gateway_elt = etree.SubElement(