'pulls the query string out of the URI and moves it into
the query portion of the request object.  If there are already
query parameters on the request the parameters in the URI will
appear after the existing parameters'

def _update_request_uri_query(self, request):

    if ('?' in request.path):
        (request.path, _, query_string) = request.path.partition('?')
        if query_string:
            query_params = query_string.split('&')
            for query in query_params:
                if ('=' in query):
                    (name, _, value) = query.partition('=')
                    request.query.append((name, value))
    request.path = url_quote(request.path, "/()$=',")
    if request.query:
        request.path += '?'
        for (name, value) in request.query:
            if (value is not None):
                request.path += (((name + '=') + url_quote(value, "/()$=',")) + '&')
        request.path = request.path[:(-1)]
    return (request.path, request.query)
