code: def send_error_explain(self, code, message=None, headers=None, content_type=None):
          "do not use directly"
          if headers is None:
              headers = {}
  
          if code in self.responses:
              if message is None:
                  message = self.responses[code][0]
  
              explain = self.responses[code][1]
          else:
              explain = ""
  
          if message is None:
              message = ""
  
          if not isinstance(headers, dict):
              headers = {}
  
          if not content_type:
              if self._cmd and self._cmd.content_type:
                  content_type = self._cmd.content_type
              else:
                  content_type = self._DEFAULT_CONTENT_TYPE
  
          if self._cmd and self._cmd.charset:
              charset = self._cmd.charset
          else:
              charset = DEFAULT_CHARSET
  
          headers['Content-type'] = "%s; charset=%s" % (content_type, charset)
  
          data = self._mk_error_explain_data(code, message, explain)
  
          self.end_response(self.build_response(code, data, headers)f send_error_explain(self, code, message=None, headers=None, content_type=None):
          "do not use directly"
          if headers is None:
              headers = {}
  
          if code in self.responses:
              if message is None:
                  message = self.responses[code][0]
  
              explain = self.responses[code][1]
          else:
              explain = ""
  
          if message is None:
              message = ""
  
          if not isinstance(headers, dict):
              headers = {}
  
          if not content_type:
              if self._cmd and self._cmd.content_type:
                  content_type = self._cmd.content_type
              else:
                  content_type = self._DEFAULT_CONTENT_TYPE
  
          if self._cmd and self._cmd.charset:
              charset = self._cmd.charset
          else:
              charset = DEFAULT_CHARSET
  
          headers['Content-type'] = "%s; charset=%s" % (content_type, charset)
  
          data = self._mk_error_explain_data(code, message, explain)
  
          self.end_response(self.build_response(code, data, headers))
docs: do not use directly