blob: 7a8799b2c685a0ae08891c752d6e20777fcbf6fc [file] [log] [blame]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_URL_REQUEST_UTIL_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_URL_REQUEST_UTIL_H_
#include "net/http/http_request_headers.h"
#include "services/network/public/mojom/fetch_api.mojom-forward.h"
#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-forward.h"
#include "third_party/blink/public/mojom/loader/mixed_content.mojom-shared.h"
#include "third_party/blink/public/mojom/loader/resource_load_info.mojom-forward.h"
#include "third_party/blink/public/platform/web_common.h"
namespace network {
class ResourceRequestBody;
}
namespace blink {
class WebHTTPBody;
class WebURLRequest;
class WebString;
BLINK_PLATFORM_EXPORT WebString
GetWebURLRequestHeadersAsString(const WebURLRequest& request);
// Takes a ResourceRequestBody and converts into WebHTTPBody.
BLINK_PLATFORM_EXPORT WebHTTPBody
GetWebHTTPBodyForRequestBody(const network::ResourceRequestBody& input);
// Takes a WebHTTPBody and converts into a ResourceRequestBody.
BLINK_PLATFORM_EXPORT scoped_refptr<network::ResourceRequestBody>
GetRequestBodyForWebHTTPBody(const WebHTTPBody& httpBody);
// Takes a WebURLRequest and sets the appropriate information
// in a ResourceRequestBody structure. Returns an empty scoped_refptr
// if the request body is not present.
BLINK_PLATFORM_EXPORT scoped_refptr<network::ResourceRequestBody>
GetRequestBodyForWebURLRequest(const WebURLRequest& request);
// Helper functions to convert enums from the blink type to the content
// type.
BLINK_PLATFORM_EXPORT mojom::RequestContextType
GetRequestContextTypeForWebURLRequest(const WebURLRequest& request);
BLINK_PLATFORM_EXPORT network::mojom::RequestDestination
GetRequestDestinationForWebURLRequest(const WebURLRequest& request);
BLINK_PLATFORM_EXPORT mojom::MixedContentContextType
GetMixedContentContextTypeForWebURLRequest(const WebURLRequest& request);
// Generates ids for requests initiated by child processes unique to the
// particular process, counted up from 0 (browser initiated requests count
// down from -2).
//
// Public to be used by content::RenderFrameImpl with the need to fill a
// navigation request id.
BLINK_PLATFORM_EXPORT int GenerateRequestId();
} // namespace blink
#endif // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_URL_REQUEST_UTIL_H_