示例#1
0
 def __init__(self, selector, sock, addr):
     self.selector = selector
     self.sock = sock
     self.addr = addr
     self.jsonheader = None
     self.request = None
     self.response_created = None
     self.filename = None
     self._recv_buffer = b""
     self._send_buffer = b""
     self._jsonheader_len = None
     self.db = Database()
     self.file_size = None
     self.sending_file = False
     self.file_bytes_sent = 0
     self.file_buffer = b""
     self.file = None
示例#2
0
    def generate_response_header(self, byteorder, content_type,
                                 content_encoding, content_length, filename):
        """
        This function creates the jsonHeader to be sent. The jsonHeader contains imp info such as
        file name, file length, md5 hash etc.
        """
        self.byteorder = byteorder
        self.content_type = content_type
        self.content_encoding = content_encoding
        self.content_length = content_length
        self.filename = filename

        # if client_id is not found or server has nothing to send then return a jsonHeader such that
        # jsonHeader["file-name"] = 0
        if self.filename == 0:
            self.content_length = 0
            jsonHeader = {
                "byteorder": sys.byteorder,
                "content-type": self.content_type,
                "content-encoding": self.content_encoding,
                "content-length": self.content_length,
                "file-name": self.filename
            }
            return jsonHeader

        else:
            db = Database()
            md_5_hash = db.findFileHash(self.filename)
            extension = self.filename.split('.')[1]
            jsonHeader = {
                "byteorder": sys.byteorder,
                "content-type": self.content_type,
                "content-encoding": self.content_encoding,
                "content-length": self.content_length,
                "file-name": self.filename,
                "extension": extension,
                "md-5-hash": md_5_hash
            }
            return jsonHeader