1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // The rules for parsing content-types were borrowed from Firefox:
6 // http://lxr.mozilla.org/mozilla/source/netwerk/base/src/nsURLHelper.cpp#834
8 #include "net/http/http_util.h"
10 #include "base/logging.h"
11 #include "net/base/net_util.h"
16 std::string
HttpUtil::PathForRequest(const GURL
& url
) {
17 DCHECK(url
.is_valid() && (url
.SchemeIsHTTPOrHTTPS() ||
18 url
.SchemeIsWSOrWSS()));
20 return url
.path() + "?" + url
.query();
25 std::string
HttpUtil::SpecForRequest(const GURL
& url
) {
26 // We may get ftp scheme when fetching ftp resources through proxy.
27 DCHECK(url
.is_valid() && (url
.SchemeIsHTTPOrHTTPS() || url
.SchemeIs("ftp") ||
28 url
.SchemeIsWSOrWSS()));
29 return SimplifyUrlForRequest(url
).spec();