<NME> UserAgentInsertInterceptor.java
<BEF> ADDFILE
<MSG> Adding an interceptor in the java client to insert user agent string into the requests.

<DFF> @@ -0,0 +1,51 @@
+/*
+ *
+ *  Copyright 2016 Netflix, Inc.
+ *
+ *     Licensed under the Apache License, Version 2.0 (the "License");
+ *     you may not use this file except in compliance with the License.
+ *     You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *     Unless required by applicable law or agreed to in writing, software
+ *     distributed under the License is distributed on an "AS IS" BASIS,
+ *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *     See the License for the specific language governing permissions and
+ *     limitations under the License.
+ *
+ */
+package com.netflix.genie.client.interceptor;
+
+import com.google.common.net.HttpHeaders;
+import lombok.extern.slf4j.Slf4j;
+import okhttp3.Interceptor;
+import okhttp3.Request;
+import okhttp3.Response;
+
+import java.io.IOException;
+
+/**
+ * An interceptor class that updates the User Agent String of the request with user info.
+ *
+ * @author amsharma
+ * @since 3.0.0
+ */
+@Slf4j
+public class UserAgentInsertInterceptor implements Interceptor {
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Response intercept(final Chain chain) throws IOException {
+            final Request newRequest = chain
+                .request()
+                .newBuilder()
+                .addHeader(HttpHeaders.USER_AGENT, "Genie 3.0 Java Client")
+                .build();
+
+            log.debug("Sending request {} on {} {} {}", newRequest.url(), chain.connection(), newRequest.headers());
+
+            return chain.proceed(newRequest);
+    }
+}

Adding an interceptor in the java client to insert user agent string into the requests.