docs: def fill_filekind(self, fk):
          """writes HTTP Response data to a file descriptor
  
          :parm fk: a file-like object
  
          .. warning:: **side-effect:** this method moves the cursor of the given file object to zero
          """
          now = datetime.utcnow()
  
          headers = {
              'status': self.status,
              'date': now.strftime('%a, %d %b %Y %H:%M:%S GMT'),
              'server': 'Python/HTTPretty',
              'connection': 'close',
          }
  
          if self.forcing_headers:
              headers = self.forcing_headers
  
          if self.adding_headers:
              headers.update(
                  self.normalize_headers(
                      self.adding_headers))
  
          headers = self.normalize_headers(headers)
          status = headers.get('status', self.status)
          if self.body_is_callable:
              status, headers, self.body = self.callable_body(self.request, self.info.full_url(), headers)
              headers = self.normalize_headers(headers)
              # TODO: document this behavior:
              if 'content-length' not in headers:
                  headers.update({
                      'content-length': len(self.body)
                  })
  
          string_list = [
              'HTTP/1.1 %d %s' % (status, STATUSES[status]),
          ]
  
          if 'date' in headers:
              string_list.append('date: %s' % headers.pop('date'))
  
          if not self.forcing_headers:
              content_type = headers.pop('content-type',
                                         'text/plain; charset=utf-8')
  
              content_length = headers.pop('content-length',
                                           self.body_length)
  
              string_list.append('content-type: %s' % content_type)
              if not self.streaming:
                  string_list.append('content-length: %s' % content_length)
  
              server = headers.pop('server', None)
              if server:
                  string_list.append('server: %s' % server)
  
          for k, v in headers.items():
              string_list.append(
                  '{}: {}'.format(k, v),
              )
  
          for item in string_list:
              fk.write(utf8(item) + b'\n')
  
          fk.write(b'\r\n')
  
          if self.streaming:
              self.body, body = itertools.tee(self.body)
              for chunk in body:
                  fk.write(utf8(chunk))
          else:
              fk.write(utf8(self.body))
  
          fk.seek(0)