Esempio n. 1
0
    def post(self, pid):
        """Create a new symbol."""

        args = parameters.new_symbol.parse_args(request)
        
        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.add_symbol(name = args['name'])
Esempio n. 2
0
    def put(self, pid, sid, mid):
        """Append a message to a symbol"""

        
        
        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.add_message_in_symbol(sid, mid)
Esempio n. 3
0
    def get(self, pid, cid):
        """Fetch all a capture by its ID"""

        args = pagination_parameters.parse_args(request)
        limit = args['limit']
        offset = args['offset']        
        
        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.get_messages_in_capture(cid, limit = limit, offset = offset)
Esempio n. 4
0
    def post(self, pid):
        """Create a new field."""

        args = parameters.new_field.parse_args(request)
        name = args['name']
        did = args['did']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.add_field(name=name, did=did)
Esempio n. 5
0
    def post(self, pid):
        """Create a new capture."""

        args = parameters.new_capture.parse_args(request)
        name = args['name']
        date = args['date']
        
        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.add_capture(name = name, date = date)
Esempio n. 6
0
    def post(self, pid):
        """Create a new data domain"""

        args = parameters.new_domain_data.parse_args(request)
        name = args['name']
        tid = args['tid']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.create_domain_data(name=name, tid=tid)
Esempio n. 7
0
    def get(self, pid, aid):
        """Fetches aggregate child domain by ID"""

        args = pagination_parameters.parse_args(request)
        limit = args['limit']
        offset = args['offset']        
        
        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.get_domains_in_aggregate(aid = aid, limit = limit, offset = offset)
Esempio n. 8
0
    def get(self, pid, sid):
        """Fetch symbol's fields by its id"""

        args = pagination_parameters.parse_args(request)
        limit = args['limit']
        offset = args['offset']        

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.get_symbol_fields(sid, limit = limit, offset = offset)
Esempio n. 9
0
    def post(self, pid):
        """Create a new data domain"""

        args = parameters.new_domain_data.parse_args(request)
        name = args['name']
        tid = args['tid']
        
        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.create_domain_data(name = name, tid = tid)
Esempio n. 10
0
    def post(self, pid):
        """Create a new field."""

        args = parameters.new_field.parse_args(request)
        name = args['name']
        did = args['did']
        
        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.add_field(name = name, did = did)
Esempio n. 11
0
    def post(self, pid):
        """Create a new capture."""

        args = parameters.new_capture.parse_args(request)
        name = args['name']
        date = args['date']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.add_capture(name=name, date=date)
Esempio n. 12
0
    def post(self, pid):
        """Create a new RAW datatype."""
        
        args = parameters.new_raw.parse_args(request)
        value = args['value']
        nb_byte_min = args['nb_byte_min'] 
        nb_byte_max = args['nb_byte_max']

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.create_type_raw(value = value, nb_byte_min = nb_byte_min, nb_byte_max = nb_byte_max)
Esempio n. 13
0
    def post(self, pid):
        """Create a new ASCII type."""
        
        args = parameters.new_ascii.parse_args(request)
        value = args['value']
        nb_char_min = args['nb_char_min'] 
        nb_char_max = args['nb_char_max']

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.create_type_ascii(value = value, nb_char_min = nb_char_min, nb_char_max = nb_char_max)
Esempio n. 14
0
    def put(self, pid, sid, fid):
        """Append a field to a symbol"""

        args = parameters.add_field.parse_args(request)
        
        fid_before_new = None
        if "fid_before_new" in args.keys():
            fid_before_new = args['fid_before_new']
        
        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.add_field_in_symbol(sid, fid, fid_before_new = fid_before_new)
Esempio n. 15
0
    def get(self, pid):
        """List all domains

        Returns a list of domains starting from ``offset`` limited by ``limit`` parameter.
        """
        args = pagination_parameters.parse_args(request)
        limit = args['limit']
        offset = args['offset']        
        
        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.get_domains(limit = limit, offset = offset)
Esempio n. 16
0
    def get(self, pid):
        """List all domains

        Returns a list of domains starting from ``offset`` limited by ``limit`` parameter.
        """
        args = pagination_parameters.parse_args(request)
        limit = args['limit']
        offset = args['offset']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.get_domains(limit=limit, offset=offset)
Esempio n. 17
0
    def get(self, pid, aid):
        """Fetches aggregate child domain by ID"""

        args = pagination_parameters.parse_args(request)
        limit = args['limit']
        offset = args['offset']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.get_domains_in_aggregate(aid=aid,
                                                        limit=limit,
                                                        offset=offset)
Esempio n. 18
0
    def get(self, pid, cid):
        """Fetch all a capture by its ID"""

        args = pagination_parameters.parse_args(request)
        limit = args['limit']
        offset = args['offset']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.get_messages_in_capture(cid,
                                                       limit=limit,
                                                       offset=offset)
Esempio n. 19
0
    def post(self, pid):
        """Create a new RAW datatype."""

        args = parameters.new_raw.parse_args(request)
        value = args['value']
        nb_byte_min = args['nb_byte_min']
        nb_byte_max = args['nb_byte_max']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.create_type_raw(value=value,
                                               nb_byte_min=nb_byte_min,
                                               nb_byte_max=nb_byte_max)
Esempio n. 20
0
    def post(self, pid):
        """Create a new ASCII type."""

        args = parameters.new_ascii.parse_args(request)
        value = args['value']
        nb_char_min = args['nb_char_min']
        nb_char_max = args['nb_char_max']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.create_type_ascii(value=value,
                                                 nb_char_min=nb_char_min,
                                                 nb_char_max=nb_char_max)
Esempio n. 21
0
    def patch(self, pid, sid):
        """Patch symbol details by its id"""

        args = parameters.new_symbol.parse_args(request)

        new_name = None
        if "name" in args.keys():
            new_name = args["name"]
            
        new_description = None
        if "description" in args.keys():
            new_description = args["description"]
        
        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.update_symbol(sid, name = new_name, description = new_description)
Esempio n. 22
0
    def post(self, pid):
        """Parse the specified RAW file

        Returns a list of messages that are embedded in the raw file
        """

        args = parameters.parse_raw.parse_args(request)
        filename = args['filename']
        content = args['raw']
        delimiter = bytes(args['delimiter'], 'utf-8')

        content = ''.join(content.split(',')[1:])
        payload = base64.b64decode(content)

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.parse_raw(filename = filename, delimiter = delimiter, raw_content = payload)
Esempio n. 23
0
    def post(self, pid):
        """Parse the specified PCAP

        Returns a list of messages that are embedded in the pcap
        """

        args = parameters.parse_pcap.parse_args(request)
        filename = args['filename']
        content = args['pcap']
        layer = args['layer']
        bpf_filter = args['bpf']

        content = ''.join(content.split(',')[1:])
        payload = base64.b64decode(content)

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.parse_pcap(filename = filename, layer = layer, bpf_filter = bpf_filter, pcap_content = payload)
Esempio n. 24
0
    def post(self, pid):
        """Create a new message."""

        args = parameters.new_message.parse_args(request)
        cid = args['cid']
        data = args['data']
        date = args['date']

        source = args['source']
        destination = args['destination']
        messageType = args['messageType']

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.add_message(cid=cid,
                                           messageType=messageType,
                                           data=data,
                                           date=date,
                                           source=source,
                                           destination=destination)
Esempio n. 25
0
    def get(self, pid, sid):
        """Specialize a symbol by its id"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.specialize_symbol(sid)
Esempio n. 26
0
    def delete(self, pid, sid):
        """Delete a symbol by its id"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.delete_symbol(sid)
Esempio n. 27
0
    def post(self, pid):
        """Create a new aggregate domain"""

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.create_domain_aggregate()
Esempio n. 28
0
 def get(self, pid, sid):
     """Fetch a symbol by its id"""
     project_handler = projects_manager.get_project_handler(pid)
     return project_handler.get_symbol(sid)
Esempio n. 29
0
    def get(self, pid, mid):
        """Fetch a message by its ID"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.get_message(mid=mid)
Esempio n. 30
0
    def delete(self, pid, sid, mid):
        """Remove a message from a symbol"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.remove_message_from_symbol(sid, mid)
Esempio n. 31
0
    def delete(self, pid, did):
        """Delete a domain by its ID"""

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.delete_domain(did = did)
Esempio n. 32
0
 def get(self, pid, did):
     """Fetch a domain by its ID"""
     project_handler = projects_manager.get_project_handler(pid)        
     return project_handler.get_domain(did = did)
Esempio n. 33
0
    def delete(self, pid, did):
        """Delete a domain by its ID"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.delete_domain(did=did)
Esempio n. 34
0
    def put(self, pid, aid, did):
        """Append a new child domain"""

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.add_domain_in_aggregate(aid = aid, did = did)
Esempio n. 35
0
    def delete(self, pid, aid, did):
        """Deletes aggregate child domain by ID"""

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.remove_domain_in_aggregate(aid = aid, did = did)
Esempio n. 36
0
    def get(self, pid, sid):
        """Fetches symbol's cells by its id"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.get_symbol_cells(sid)
Esempio n. 37
0
    def get(self, pid, sid):
        """Executes an alignment process on the specified symbol"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.symbol_split_align(sid)
Esempio n. 38
0
 def get(self, pid, did):
     """Fetch a domain by its ID"""
     project_handler = projects_manager.get_project_handler(pid)
     return project_handler.get_domain(did=did)
Esempio n. 39
0
    def post(self, pid):
        """Create a new aggregate domain"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.create_domain_aggregate()
Esempio n. 40
0
    def put(self, pid, aid, did):
        """Append a new child domain"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.add_domain_in_aggregate(aid=aid, did=did)
Esempio n. 41
0
    def delete(self, pid, sid, fid):
        """Remove a field from a symbol"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.remove_field_from_symbol(sid, fid)
Esempio n. 42
0
    def get(self, pid, tid):
        """Fetch a type by its ID"""

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.get_datatype(tid = tid)
Esempio n. 43
0
    def delete(self, pid, mid):
        """Delete a message"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.delete_message(mid=mid)
Esempio n. 44
0
    def delete(self, pid, tid):
        """Delete a type"""

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.delete_datatype(tid = tid)
Esempio n. 45
0
    def delete(self, pid, aid, did):
        """Deletes aggregate child domain by ID"""

        project_handler = projects_manager.get_project_handler(pid)
        return project_handler.remove_domain_in_aggregate(aid=aid, did=did)
Esempio n. 46
0
    def delete(self, pid, fid):
        """Delete a field"""

        project_handler = projects_manager.get_project_handler(pid)        
        return project_handler.delete_field(fid = fid)