class_docstr: Bridge class to reduce coupling between DemistoOutput and whatever client we use.
class_docstr_tok: ["Bridge","class","to","reduce","coupling","between","DemistoOutput","and","whatever","client","we","use","."]
docstr: Sends the given DemistoCreateIncidentRequest with the current integration.
  
  Returns:
      void: Returns void if the request is successful. Raises an exception on error.
  
  Raises:
      requests.exceptions.RequestException
docstr_tok: ["Sends","the","given","DemistoCreateIncidentRequest","with","the","current","integration",".","Returns",":","void",":","Returns","void","if","the","request","is","successful",".","Raises","an","exception","on","error",".","Raises",":","requests.exceptions.RequestException"]
code: def send(self, request):
      """Sends the given DemistoCreateIncidentRequest with the current integration.
  
      Returns:
          void: Returns void if the request is successful. Raises an exception on error.
  
      Raises:
          requests.exceptions.RequestException
      """
      request_data = {
          "type": request.incident_type,
          "name": request.incident_name,
          "owner": request.owner,
          "playbook": request.playbook,
          "severity": request.severity,
          "labels": request.labels,
          "customFields": request.custom_fields,
          "details": request.details,
      }
      if request.create_investigation:
          request_data["createInvestigation"] = True
  
      create_incident_endpoint = "{}/incident".format(
          self._creds["url"]
      )
  
      # pylint: disable=protected-access
      # This is somewhat of a breach in abstraction, but is acceptable as-is for now.
      self._dispatcher._post_request_retry(
          create_incident_endpoint,
          data=request_data,
          headers={
              "Accept": "application/json",
              "Content-type": "application/json",
              "Authorization": self._creds["token"],
          },
          verify=False,
      )
  
imports: from collections import OrderedDict
  from streamalert.alert_processor.helpers import compose_alert
  from streamalert.alert_processor.outputs.output_base import OutputDispatcher, OutputProperty, StreamAlertOutput, OutputRequestFailure
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 2 for calling the DemistoApiIntegration obj's underlying member method code with example usage: obj.send(request) without return types