<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def request_from_context(context):
 """ Do http requests from context. :param context: request context. """

    new_context = copy.deepcopy(context)
    assert new_context.method in ALLOWED_METHODS

    new_context.url_path = generate_url_path(
        new_context.url_path,
        prefix=new_context.prefix_url_path,
        format_suffix=new_context.url_path_format,
        **new_context.url_path_params
    )

    if new_context.body_params or new_context.files:
        body, content_type = new_context.renderer.encode_params(new_context.body_params, files=new_context.files)
        if new_context.update_content_type and HttpSdk.CONTENT_TYPE_HEADER_NAME not in new_context.headers:
            new_context.headers[HttpSdk.CONTENT_TYPE_HEADER_NAME] = content_type
    else:
        body = None

    authentication_instances = new_context.authentication_instances
    for auth_obj in authentication_instances:
        new_context = auth_obj.apply_authentication(new_context)

    if HttpSdk.COOKIE_HEADER_NAME not in new_context.headers and not new_context.cookie.is_empty():
        new_context.headers[HttpSdk.COOKIE_HEADER_NAME] = new_context.cookie.as_cookie_header_value()

    url = "%s%s" % (new_context.host, new_context.url_path)
    if new_context.query_params:
        url += "?%s" % (urlencode(new_context.query_params))

    log_print_request(new_context.method, url, new_context.query_params, new_context.headers, body)
    # ensure method and url are native str
    r = HttpSdk.get_pool_manager(new_context.proxy).request(
        convert_unicode_to_native_str(new_context.method),
        convert_unicode_to_native_str(url),
        body=body,
        headers=HttpSdk.convert_headers_to_native_str(new_context.headers),
        redirect=new_context.redirect,
        timeout=new_context.timeout
    )
    log_print_response(r.status, r.data, r.headers)
    r = new_context.response_class(r)
    return r