1 // Copyright (c) 2012 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 // Contains the definition of a few helper functions used for generating sync
8 #include "sync/engine/net/url_translator.h"
10 #include "base/basictypes.h"
11 #include "base/port.h"
12 #include "net/base/escape.h"
19 // Parameters that the server understands. (here, a-Z)
20 const char kParameterClient
[] = "client";
21 const char kParameterClientID
[] = "client_id";
23 #if defined(GOOGLE_CHROME_BUILD)
24 const char kClientName
[] = "Google Chrome";
26 const char kClientName
[] = "Chromium";
27 #endif // defined(GOOGLE_CHROME_BUILD)
30 // Convenience wrappers around CgiEscapePath().
31 string
CgiEscapeString(const char* src
) {
32 return CgiEscapeString(string(src
));
35 string
CgiEscapeString(const string
& src
) {
36 return net::EscapeUrlEncodedData(src
, true);
39 // This method appends the query string to the sync server path.
40 string
MakeSyncServerPath(const string
& path
, const string
& query_string
) {
43 result
.append(query_string
);
47 string
MakeSyncQueryString(const string
& client_id
) {
49 query
+= kParameterClient
;
50 query
+= "=" + CgiEscapeString(kClientName
);
52 query
+= kParameterClientID
;
53 query
+= "=" + CgiEscapeString(client_id
);