本文整理汇总了Python中threatconnect.RequestObject.RequestObject.set_request_uri方法的典型用法代码示例。如果您正苦于以下问题:Python RequestObject.set_request_uri方法的具体用法?Python RequestObject.set_request_uri怎么用?Python RequestObject.set_request_uri使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类threatconnect.RequestObject.RequestObject
的用法示例。
在下文中一共展示了RequestObject.set_request_uri方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: filter_associations
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def filter_associations(self, base_resource_type, identifier):
"""Get victims associated with base resource object
GET /v2/groups/adversaries/747266/victims
GET /v2/indicators/addresses/4.3.2.1/victims
"""
base_properties = ResourceProperties[base_resource_type.name].value()
request_uri = base_properties.base_path + '/'
request_uri += str(identifier)
request_uri += '/victims'
description = 'Get victim associations for {0} resource ({1}).'.format(
base_resource_type.name.lower(), str(identifier))
filter_type = 'victim association'
ro = RequestObject(
filter_type, '{0}|{1}'.format(base_resource_type.name.lower(), identifier))
ro.set_description(description)
ro.set_owner_allowed(False)
ro.set_resource_pagination(True)
ro.set_request_uri(request_uri)
ro.set_resource_type(ResourceType.VICTIMS)
self._add_request_objects(ro)
示例2: upload
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def upload(self, body):
""" upload document """
if self._resource_type == ResourceType.DOCUMENTS:
prop = self._resource_properties['document_upload']
elif self._resource_type == ResourceType.SIGNATURES:
prop = self._resource_properties['signature_upload']
else:
self._tc.tcl.error('Upload requested for wrong resource type.')
raise AttributeError(ErrorCodes.e10330.value)
ro = RequestObject()
ro.set_body(body)
ro.set_content_type('application/octet-stream')
ro.set_description('upload document for "{0}"'.format(self._name))
# determine whether the file contents exist using phase (not 100%)
if self.phase == 1:
ro.set_http_method(prop['http_method'])
else:
ro.set_http_method('PUT')
ro.set_owner_allowed(prop['owner_allowed'])
ro.set_request_uri(prop['uri'].format(self._id))
ro.set_resource_pagination(prop['pagination'])
ro.set_resource_type(self._resource_type)
success_callback = lambda request, response: self.set_contents(request.body)
ro.set_success_callback(success_callback)
self._resource_container.add_commit_queue(self.id, ro)
示例3: BulkIndicatorFilterObject
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
class BulkIndicatorFilterObject(FilterObject):
""" """
def __init__(self, base_uri, tcl):
""" """
super(BulkIndicatorFilterObject, self).__init__(base_uri, tcl)
self._owners = []
# pd('IndicatorFilterObject', header=True)
# pd('indicator_type_enum', indicator_type_enum)
self._properties = BulkIndicatorsProperties(base_uri=self.base_uri)
self._resource_type = self._properties.resource_type
# create default request object for filtered request with only owners
self._request_object = RequestObject('indicators', 'default')
self._request_object.set_http_method(self._properties.http_method)
self._request_object.set_owner_allowed(self._properties.base_owner_allowed)
self._request_object.set_request_uri(self._properties.base_path)
self._request_object.set_resource_pagination(self._properties.resource_pagination)
self._request_object.set_resource_type(self._properties.resource_type)
#
# add_obj filter methods
#
for method_name in self._properties.filters:
# pd('method_name', method_name)
method = getattr(FilterMethods, method_name)
setattr(self, method_name, types.MethodType(method, self))
示例4: VictimAssetFilterObject
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
class VictimAssetFilterObject(FilterObject):
""" """
def __init__(self, base_uri, tcl, victim_asset_type_enum=None):
""" """
super(VictimAssetFilterObject, self).__init__(base_uri, tcl)
self._owners = []
# get resource type from indicator type
if isinstance(victim_asset_type_enum, VictimAssetType):
# get resource type from indicator type number
resource_type = ResourceType(victim_asset_type_enum.value)
# get resource properties from resource type name
self._properties = ResourceProperties[resource_type.name].value(base_uri=self.base_uri)
else:
self._properties = ResourceProperties['VICTIM_ASSETS'].value(base_uri=self.base_uri)
self._resource_type = self._properties.resource_type
# create default request object for filtered request with only owners
self._request_object = RequestObject('victimAssets', 'default')
self._request_object.set_http_method(self._properties.http_method)
self._request_object.set_owner_allowed(self._properties.base_owner_allowed)
self._request_object.set_request_uri(self._properties.base_path)
self._request_object.set_resource_pagination(self._properties.resource_pagination)
self._request_object.set_resource_type(self._properties.resource_type)
#
# add_obj filter methods
#
for method_name in self._properties.filters:
method = getattr(FilterMethods, method_name)
setattr(self, method_name, types.MethodType(method, self))
示例5: BulkFilterObject
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
class BulkFilterObject(FilterObject):
""" """
def __init__(self, base_uri, tcl):
""" """
super(BulkFilterObject, self).__init__(base_uri, tcl)
self._owners = []
# define properties for resource type
# self._properties = BulkProperties(base_uri=self.base_uri)
self._properties = None
self._resource_type = self._properties.resource_type
# create default request object for filtered request with only owners
self._request_object = RequestObject('groups', 'default')
self._request_object.set_http_method(self._properties.http_method)
self._request_object.set_owner_allowed(self._properties.base_owner_allowed)
self._request_object.set_request_uri(self._properties.base_path)
self._request_object.set_resource_pagination(self._properties.resource_pagination)
self._request_object.set_resource_type(self._properties.resource_type)
#
# add_obj filter methods
#
for method_name in self._properties.filters:
method = getattr(IndicatorFilterMethods, method_name)
setattr(self, method_name, types.MethodType(method, self))
示例6: add_indicator
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def add_indicator(self, data, indicator_type = None):
""" filter api results by indicator """
# validation indicator
if not SharedMethods.validate_indicator(self.tc._indicators_regex, data):
raise AttributeError(ErrorCodes.e5010.value.format(data))
# get indicator uri attribute
if indicator_type is None:
indicator_type = SharedMethods.get_resource_type(self.tc._indicators_regex, data)
indicator_uri_attribute = ApiProperties.api_properties[indicator_type.name]['uri_attribute']
prop = self._resource_properties['indicator']
ro = RequestObject()
ro.set_description('api filter by indicator id {0}'.format(data))
ro.set_owner_allowed(prop['owner_allowed'])
# TODO: Check this logic
if self._resource_type == ResourceType.INDICATORS:
ro.set_request_uri(prop['uri'], [indicator_uri_attribute, SharedMethods.urlsafe(data)])
else:
ro.set_request_uri(prop['uri'], [SharedMethods.urlsafe(data)])
ro.set_resource_pagination(prop['pagination'])
ro.set_resource_type(indicator_type)
self._add_request_objects(ro)
示例7: add_id
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def add_id(self, data_int, asset_id=None):
""" """
resource_type = ResourceType(self._resource_type.value - 5)
properties = ResourceProperties[resource_type.name].value()
if asset_id is not None:
# resource_type = ResourceType(self._resource_type.value - 5)
# properties = ResourceProperties[resource_type.name].value()
uri_data = [data_int, asset_id]
else:
# properties = self._properties
uri_data = [data_int]
# validation of data input
if not isinstance(data_int, int):
self.add_error(ErrorCodes.e4020.value.format(data_int))
self._error = True
else:
filter_type = 'id'
if asset_id is not None:
filter_values = '{0}-{1}'.format(data_int, asset_id)
else:
filter_values = data_int
ro = RequestObject(filter_type, filter_values)
ro.set_owner_allowed(properties.id_owner_allowed)
ro.set_resource_pagination(properties.resource_pagination)
ro.set_request_uri(properties.id_path, uri_data)
ro.set_resource_type(properties.resource_type)
self._add_request_objects(ro)
示例8: SignatureFilterObject
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
class SignatureFilterObject(FilterObject):
""" """
def __init__(self, base_uri, tcl):
""" """
super(SignatureFilterObject, self).__init__(base_uri, tcl)
self._owners = []
# define properties for resource type
self._properties = SignaturesProperties(base_uri=self.base_uri)
self._resource_type = self._properties.resource_type
# create default request object for filtered request with only owners
self._request_object = RequestObject('signatures', 'default')
self._request_object.set_http_method(self._properties.http_method)
self._request_object.set_owner_allowed(self._properties.base_owner_allowed)
self._request_object.set_request_uri(self._properties.base_path)
self._request_object.set_resource_pagination(self._properties.resource_pagination)
self._request_object.set_resource_type(self._properties.resource_type)
#
# add_obj filter methods
#
for method_name in self._properties.filters:
# special case for download
if method_name == 'add_id':
method = getattr(FilterMethods, 'add_id_signature')
setattr(self, method_name, types.MethodType(method, self))
else:
method = getattr(FilterMethods, method_name)
setattr(self, method_name, types.MethodType(method, self))
示例9: add_tag
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def add_tag(self, tag):
""" add a tag to an indicator """
prop = self._resource_properties['tag_add']
ro = RequestObject()
ro.set_description('add tag "{0}" to "{1}"'.format(tag, self._name))
ro.set_http_method(prop['http_method'])
ro.set_owner_allowed(prop['owner_allowed'])
ro.set_request_uri(prop['uri'].format(self._id, self._urlsafe(tag)))
ro.set_resource_pagination(prop['pagination'])
ro.set_resource_type(self._resource_type)
self._resource_container.add_commit_queue(self.id, ro)
示例10: default_request_object
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def default_request_object(self):
""" default request when only a owner filter is provided """
request_object = RequestObject()
request_object.set_description('filter by owner')
request_object.set_http_method(self._resource_properties['base']['http_method'])
request_object.set_owner_allowed(self._resource_properties['base']['owner_allowed'])
request_object.set_request_uri(self._resource_properties['base']['uri'])
request_object.set_resource_pagination(self._resource_properties['base']['pagination'])
request_object.set_resource_type(self._resource_type)
return request_object
示例11: delete_tag
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def delete_tag(self, tag):
""" delete tag from group """
prop = self._resource_properties['tag_delete']
ro = RequestObject()
ro.set_description('delete tag "{0}" from "{1}"'.format(tag, self._name))
ro.set_http_method(prop['http_method'])
ro.set_owner_allowed(prop['owner_allowed'])
ro.set_request_uri(prop['uri'].format(
self._id, self._urlsafe(tag)))
ro.set_resource_pagination(prop['pagination'])
ro.set_resource_type(self._resource_type)
self._resource_container.add_commit_queue(self.id, ro)
示例12: delete_security_label
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def delete_security_label(self, label):
""" set the security label for this indicator """
prop = self._resource_properties['security_label_delete']
ro = RequestObject()
ro.set_description('delete security label "{0}" from {1}'.format(label, self._name))
ro.set_http_method(prop['http_method'])
ro.set_owner_allowed(prop['owner_allowed'])
ro.set_request_uri(prop['uri'].format(
self._id, self._urlsafe(label)))
ro.set_resource_pagination(prop['pagination'])
ro.set_resource_type(self._resource_type)
self._resource_container.add_commit_queue(self.id, ro)
示例13: delete_attribute
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def delete_attribute(self, attr_id):
""" delete attribute from group by id """
prop = self._resource_properties['attribute_delete']
ro = RequestObject()
ro.set_description('delete attribute id {0} from "{1}"'.format(attr_id, self._name))
ro.set_http_method(prop['http_method'])
ro.set_owner_allowed(prop['owner_allowed'])
ro.set_request_uri(prop['uri'].format(
self._id, attr_id))
ro.set_resource_pagination(prop['pagination'])
ro.set_resource_type(self._resource_type)
self._resource_container.add_commit_queue(self.id, ro)
示例14: add_indicator
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def add_indicator(self, data, data_type_enum=None):
""" """
if data_type_enum is None:
# use indicator value to get the resource type
data_type_enum = _get_resource_type(data)
else:
# indicator type provided
if isinstance(data_type_enum, IndicatorType):
data_type_enum = ResourceType(data_type_enum.value)
error = False
# validation indicator
if not validate_indicator(data):
self.add_error(ErrorCodes.e5010.value.format(data))
self._error = True
error = True
# validation resource type
if not isinstance(data_type_enum, ResourceType):
self.add_error(ErrorCodes.e5011.value.format(data_type_enum))
self._error = True
error = True
if not error:
# get properties for indicator
# (e.g ADDRESSES is 515 and ADDRESS is 510.
indicator_resource_type = ResourceType(data_type_enum.value - 5)
indicator_properties = ResourceProperties[indicator_resource_type.name].value()
indicator_type = indicator_properties.resource_uri_attribute
# determine properties
indicator_resources = [
'INDICATORS', 'ADDRESSES', 'EMAIL_ADDRESSES', 'FILES', 'HOSTS', 'URLS']
if self._properties.resource_type.name in indicator_resources:
# if the resource type is one of the above use the properties of that indicator
properties = indicator_properties
else:
# otherwise use the properties of the resource
properties = self._properties
# url
if data_type_enum == ResourceType.URLS:
data = urllib.quote(data, safe='~')
filter_type = data_type_enum.name.lower()
ro = RequestObject(filter_type, data)
ro.set_owner_allowed(properties.indicator_owner_allowed)
ro.set_resource_pagination(properties.resource_pagination)
ro.set_request_uri(
properties.indicator_path, [indicator_type, data])
ro.set_resource_type(properties.resource_type)
self._add_request_objects(ro)
示例15: update_asset
# 需要导入模块: from threatconnect.RequestObject import RequestObject [as 别名]
# 或者: from threatconnect.RequestObject.RequestObject import set_request_uri [as 别名]
def update_asset(self, asset_id, asset_obj):
""" add a asset to a victim """
prop = self._resource_properties['asset_update']
ro = RequestObject()
ro.set_body(asset_obj.gen_body)
ro.set_description('update asset type {0} with to {1}'.format(asset_obj.resource_type, self._name))
ro.set_http_method(prop['http_method'])
ro.set_owner_allowed(prop['owner_allowed'])
ro.set_request_uri(prop['uri'].format(self._id, asset_obj.uri_attribute, asset_id))
ro.set_resource_pagination(prop['pagination'])
ro.set_resource_type(self._resource_type)
self._resource_container.add_commit_queue(self.id, ro)