class_docstr: A client to the Stanford CoreNLP server. 
docstr: Send a request to the CoreNLP server.
  
  :param (str | unicode) text: raw text for the CoreNLPServer to parse
  :param (list | string) annotators: list of annotators to use
  :param (str) output_format: output type from server: serialized, json, text, conll, conllu, or xml
  :param (dict) properties: additional request properties (written on top of defaults)
  :param (bool) reset_default: don't use server defaults
  
  Precedence for settings:
  
  1. annotators and output_format args
  2. Values from properties dict
  3. Client defaults self.annotators and self.output_format (set during client construction)
  4. Server defaults
  
  Additional request parameters (apart from CoreNLP pipeline properties) such as 'username' and 'password'
  can be specified with the kwargs.
  
  :return: request result
docstr_tok: ["Send","a","request","to","the","CoreNLP","server",".",":","param","(","str","|","unicode",")","text",":","raw","text","for","the","CoreNLPServer","to","parse",":","param","(","list","|","string",")","annotators",":","list","of","annotators","to","use",":","param","(","str",")","output_format",":","output","type","from","server",":","serialized",",","json",",","text",",","conll",",","conllu",",","or","xml",":","param","(","dict",")","properties",":","additional","request","properties","(","written","on","top","of","defaults",")",":","param","(","bool",")","reset_default",":","do","n't","use","server","defaults","Precedence","for","settings",":","1.","annotators","and","output_format","args","2",".","Values","from","properties","dict","3",".","Client","defaults","self.annotators","and","self.output_format","(","set","during","client","construction",")","4",".","Server","defaults","Additional","request","parameters","(","apart","from","CoreNLP","pipeline","properties",")","such","as","'username","'","and","'password'","can","be","specified","with","the","kwargs",".",":","return",":","request","result"]
code: def annotate(
      self,
      text,
      annotators=None,
      output_format=None,
      properties=None,
      reset_default=None,
      **kwargs,
  ):
      """
      Send a request to the CoreNLP server.
  
      :param (str | unicode) text: raw text for the CoreNLPServer to parse
      :param (list | string) annotators: list of annotators to use
      :param (str) output_format: output type from server: serialized, json, text, conll, conllu, or xml
      :param (dict) properties: additional request properties (written on top of defaults)
      :param (bool) reset_default: don't use server defaults
  
      Precedence for settings:
  
      1. annotators and output_format args
      2. Values from properties dict
      3. Client defaults self.annotators and self.output_format (set during client construction)
      4. Server defaults
  
      Additional request parameters (apart from CoreNLP pipeline properties) such as 'username' and 'password'
      can be specified with the kwargs.
  
      :return: request result
      """
  
      # validate request properties
      validate_corenlp_props(
          properties=properties,
          annotators=annotators,
          output_format=output_format,
      )
      # set request properties
      request_properties = {}
  
      # start with client defaults
      if self.annotators is not None:
          request_properties["annotators"] = self.annotators
      if self.output_format is not None:
          request_properties["outputFormat"] = self.output_format
  
      # add values from properties arg
      # handle str case
      if type(properties) == str:
          if is_corenlp_lang(properties):
              properties = {"pipelineLanguage": properties.lower()}
              if reset_default is None:
                  reset_default = True
          else:
              raise ValueError(
                  f"Unrecognized properties keyword {properties}"
              )
  
      if type(properties) == dict:
          request_properties.update(properties)
  
      # if annotators list is specified, override with that
      # also can use the annotators field the object was created with
      if annotators is not None and (
          type(annotators) == str or type(annotators) == list
      ):
          request_properties["annotators"] = (
              annotators
              if type(annotators) == str
              else ",".join(annotators)
          )
  
      # if output format is specified, override with that
      if output_format is not None and type(output_format) == str:
          request_properties["outputFormat"] = output_format
  
      # make the request
      # if not explicitly set or the case of pipelineLanguage, reset_default should be None
      if reset_default is None:
          reset_default = False
      r = self._request(
          text.encode("utf-8"),
          request_properties,
          reset_default,
          **kwargs,
      )
      if request_properties["outputFormat"] == "json":
          return r.json()
      elif request_properties["outputFormat"] == "serialized":
          doc = Document()
          parseFromDelimitedString(doc, r.content)
          return doc
      elif request_properties["outputFormat"] in [
          "text",
          "conllu",
          "conll",
          "xml",
      ]:
          return r.text
      else:
          return r
  
imports: import atexit
  import contextlib
  import enum
  import io
  import os
  import re
  import requests
  import logging
  import json
  import shlex
  import socket
  import subprocess
  import time
  import sys
  import uuid
  from datetime import datetime
  from pathlib import Path
  from urllib.parse import urlparse
  from stanza.protobuf import Document, parseFromDelimitedString, writeToDelimitedString, to_text
label_desc: Use image node_id 5 for calling the CoreNLPClient obj's underlying member method code with example usage: obj.annotate(text, annotators, output_format, properties, reset_default) and returns: r, doc, r, r