class_docstr: Searches for structured entities, e.g. dates, using a duckling server.
docstr: Sends the request to the duckling server and parses the result.
  
  Args:
      text: Text for duckling server to parse.
      reference_time: Reference time in milliseconds.
  
  Returns:
      JSON response from duckling server with parse data.
docstr_tok: ["Sends","the","request","to","the","duckling","server","and","parses","the","result",".","Args",":","text",":","Text","for","duckling","server","to","parse",".","reference_time",":","Reference","time","in","milliseconds",".","Returns",":","JSON","response","from","duckling","server","with","parse","data","."]
code: def _duckling_parse(
      self, text: Text, reference_time: int
  ) -> List[Dict[Text, Any]]:
      """Sends the request to the duckling server and parses the result.
  
      Args:
          text: Text for duckling server to parse.
          reference_time: Reference time in milliseconds.
  
      Returns:
          JSON response from duckling server with parse data.
      """
      parse_url = endpoints_utils.concat_url(self._url(), "/parse")
      try:
          payload = self._payload(text, reference_time)
          headers = {
              "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
          }
          response = requests.post(
              parse_url,
              data=payload,
              headers=headers,
              timeout=self.component_config.get("timeout"),
          )
          if response.status_code == 200:
              return response.json()
          else:
              logger.error(
                  f"Failed to get a proper response from remote "
                  f"duckling at '{parse_url}. "
                  f"Status Code: {response.status_code}. "
                  f"Response: {response.text}"
              )
              return []
      except (
          requests.exceptions.ConnectionError,
          requests.exceptions.ReadTimeout,
      ) as e:
          logger.error(
              "Failed to connect to duckling http server. Make sure "
              "the duckling server is running/healthy/not stale and the proper host "
              "and port are set in the configuration. More "
              "information on how to run the server can be found on "
              "github: "
              "https://github.com/facebook/duckling#quickstart "
              "Error: {}".format(e)
          )
          return []
  
imports: from __future__ import annotations
  import time
  import json
  import logging
  import os
  import requests
  from typing import Any, List, Optional, Text, Dict
  import rasa.utils.endpoints
  from rasa.engine.graph import GraphComponent, ExecutionContext
  from rasa.engine.recipes.default_recipe import DefaultV1Recipe
  from rasa.engine.storage.resource import Resource
  from rasa.engine.storage.storage import ModelStorage
  from rasa.shared.constants import DOCS_URL_COMPONENTS
  from rasa.shared.nlu.constants import ENTITIES, TEXT
  from rasa.nlu.extractors.extractor import EntityExtractorMixin
  from rasa.shared.nlu.training_data.message import Message
  import rasa.shared.utils.io
label_desc: Use image node_id 6 for calling the DucklingEntityExtractor obj's underlying member method code with example usage: obj._duckling_parse(text, reference_time) and returns: response, list, list