summaryrefslogtreecommitdiff
path: root/src/transports/http.h
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2018-01-31 08:36:19 -0800
committerEdward Thomson <ethomson@edwardthomson.com>2018-02-10 07:05:55 +0000
commitee6be190e69ae26cec589e99b48f901b18b8e873 (patch)
treeff3d5dfd22fd0850f246dcea1134396cf8b8d198 /src/transports/http.h
parent05c24c44e67a09b88411aca5f12d31e907d1a35d (diff)
downloadlibgit2-ethomson/user_agent.tar.gz
http: standardize user-agent additionethomson/user_agent
The winhttp and posix http each need to add the user-agent to their requests. Standardize on a single function to include this so that we do not get the version numbers we're sending out of sync. Assemble the complete user agent in `git_http__user_agent`, returning assembled strings. Co-authored-by: Patrick Steinhardt <ps@pks.im>
Diffstat (limited to 'src/transports/http.h')
-rw-r--r--src/transports/http.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/transports/http.h b/src/transports/http.h
new file mode 100644
index 000000000..6c4ecc9a4
--- /dev/null
+++ b/src/transports/http.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#ifndef INCLUDE_transports_http_h__
+#define INCLUDE_transports_http_h__
+
+#include "buffer.h"
+
+GIT_INLINE(int) git_http__user_agent(git_buf *buf)
+{
+ const char *ua = git_libgit2__user_agent();
+
+ if (!ua)
+ ua = "libgit2 " LIBGIT2_VERSION;
+
+ return git_buf_printf(buf, "git/2.0 (%s)", ua);
+}
+
+#endif