本文整理汇总了Python中cpc.util.conf.server_conf.ServerConf.addInboundConnection方法的典型用法代码示例。如果您正苦于以下问题:Python ServerConf.addInboundConnection方法的具体用法?Python ServerConf.addInboundConnection怎么用?Python ServerConf.addInboundConnection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cpc.util.conf.server_conf.ServerConf
的用法示例。
在下文中一共展示了ServerConf.addInboundConnection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: do_PUT
# 需要导入模块: from cpc.util.conf.server_conf import ServerConf [as 别名]
# 或者: from cpc.util.conf.server_conf.ServerConf import addInboundConnection [as 别名]
def do_PUT(self):
conf = ServerConf()
self.log.log(cpc.util.log.TRACE,'%s %s'%(self.command,self.path))
self.log.log(cpc.util.log.TRACE,"Headers are: '%s'\n"%self.headers)
if self.headers.has_key('persistent-connection'):
if not self.headers.has_key('originating-server-id'):
raise Exception("No originating server id found in request")
self.originatingServerId = self.headers['originating-server-id']
self.request.serverId = self.originatingServerId
direction = self.headers['persistent-connection']
if( direction == PersistentServerMessage.INBOUND_CONNECTION ):
self.log.log(cpc.util.log.TRACE,"Got request to persist "
"incoming connections")
node = ServerConf().getNodes().get(self.originatingServerId)
node.addInboundConnection()
if( direction == PersistentServerMessage.OUTBOUND_CONNECTION ):
self.log.log(cpc.util.log.TRACE,"Got request to persist "
"outgoing connections")
self.request.revertSocket = True
#Checks if the message should be forwarded to another node
if self.headers.has_key('server-id') and \
ServerToServerMessage.connectToSelf(self.headers)==False:
endNodeServerId = self.headers['server-id']
self.log.log(cpc.util.log.TRACE,"Trying to reach end node %s"%(
endNodeServerId))
server_msg = ServerToServerMessage(endNodeServerId)
server_msg.connect()
retresp = server_msg.delegateMessage(self.headers.dict,
self.rfile)
self.log.log(cpc.util.log.TRACE,"Done. Delegating back reply "
"message of length %d."%
len(retresp.message))
self.send_response(200)
# the content-length is in the message.
self.send_header("content-length", len(retresp.message))
for (key, val) in retresp.headers.iteritems():
kl=key.lower()
if kl!="content-length" and kl!="server" and kl!="date":
self.log.log(cpc.util.log.TRACE,
"Sending header '%s'='%s'"%(kl,val))
self.send_header(key,val)
self.send_header("Connection", "keep-alive")
self.end_headers()
retresp.message.seek(0)
self.wfile.write(retresp.message.read(len(retresp.message)))
else:
if(self.isApplicationRoot()):
# put message format should be handled exaclty as POST
request = HttpMethodParser.parsePOST(self.headers.dict,self.rfile)
self.processMessage(request,closeConnection=False,
revertSocket=self.request.revertSocket
)
else:
self.processMessage(closeConnection=False,
revertSocket=self.request.revertSocket)