code: def serve(request, tail, server):
      
  
      if request.GET:
          body = ''
      else:
          try:
              body = request.body
          except AttributeError:
              body = request.raw_post_data
  
      request = Request(
          tail,
          body,
          parse_qs(request.META['QUERY_STRING']),
          parse_qs(body),
          request.COOKIES,
      )
  
      response = server.process_request(request)
  
      return HttpResponse(
          response.text, content_type=response.content_type,
          status=get_http_response_code_num(response))
docs: Django adapter. It has three arguments:
  
      #. ``request`` is a Django request object,
      #. ``tail`` is everything that's left from an URL, which adapter is
         attached to,
      #. ``server`` is a pyws server object.
  
      First two are the context of an application, function ``serve`` transforms
      them into a pyws request object. Then it feeds the request to the server,
      gets the response and transforms it into a Django response object.