def parse(self, chunk): HTTPMessage.parse(self, chunk) content_type = self.headers.get("Content-Type", "null") raw_body = self.body self.body = SLPMessageBody.build(content_type, raw_body)
def _handle_MSG(self, command): message = Message(None, command.payload) content_type = message.content_type if content_type[0] == 'text/x-msmsgsprofile': self._client.profile._server_property_changed("profile", command.payload) if self._protocol_version < 15: #self._send_command('SYN', ('0', '0')) raise NotImplementedError, "Missing Implementation, please fix" else: self._send_command("BLP", (self._client.profile.privacy,)) self._state = ProtocolState.SYNCHRONIZING self._client.address_book.sync() elif content_type[0] in \ ('text/x-msmsgsinitialemailnotification', \ 'text/x-msmsgsemailnotification'): self.emit("mail-received", message) elif content_type[0] in \ ('text/x-msmsgsinitialmdatanotification', \ 'text/x-msmsgsoimnotification'): if self._client.oim_box is not None: self._client.oim_box._state = \ OIM.OfflineMessagesBoxState.NOT_SYNCHRONIZED m = HTTPMessage() m.parse(message.body) mail_data = m.get_header('Mail-Data').strip() if mail_data == 'too-large': mail_data = None self._client.oim_box.sync(mail_data) elif content_type[0] == 'text/x-msmsgsactivemailnotification': pass
def __init__(self, sender=None, message=""): """Initializer @param body: The body of the message, it is put after the headers @type body: string""" HTTPMessage.__init__(self) self.sender = sender if message: self.parse(message)
def __init__(self, content_type, session_id=None, s_channel_state=0, capabilities_flags=1): HTTPMessage.__init__(self) self.content_type = content_type if session_id is not None: self.add_header("SessionID", session_id) if s_channel_state is not None: self.add_header("SChannelState", s_channel_state) if capabilities_flags is not None: self.add_header("Capabilities-Flags", capabilities_flags)
def __init__(self, body=""): """Initializer @param body: The body of the message, it is put after the headers @type body: string""" HTTPMessage.__init__(self) self.passport = 'Hotmail' self.friendly_name = 'Hotmail' self.body = body self.headers = {'MIME-Version' : '1.0', 'Content-Type' : 'text/plain'}
def __init__(self, to="", frm="", branch="", cseq=0, call_id="", max_forwards=0): HTTPMessage.__init__(self) self.add_header("To", "<msnmsgr:%s>" % to) self.add_header("From", "<msnmsgr:%s>" % frm) if branch: self.add_header("Via", "MSNSLP/1.0/TLP ;branch=%s" % branch) self.add_header("CSeq", str(cseq)) if call_id: self.add_header("Call-ID", call_id) self.add_header("Max-Forwards", str(max_forwards)) # Make the body a SLP Message wih "null" content type self.body = SLPNullBody()
def __str__(self): if self.body is None: self.add_header("Content-Type", "null") self.add_header("Content-Length", 0) else: self.add_header("Content-Type", self.body.content_type) self.add_header("Content-Length", len(str(self.body))) return HTTPMessage.__str__(self)
def __str__(self): return HTTPMessage.__str__(self) + "\x00"
def parse(self, data): if len(data) == 0: return data.rstrip('\x00') HTTPMessage.parse(self, data)