This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/main by this push:
     new bf98f985b2 GH-3148: Set HTTP header User-Agent when calling from 
SERVICE
bf98f985b2 is described below

commit bf98f985b27d30a59d7078737ca63ebaa89c737e
Author: Andy Seaborne <[email protected]>
AuthorDate: Thu May 1 13:19:24 2025 +0100

    GH-3148: Set HTTP header User-Agent when calling from SERVICE
---
 jena-arq/src/main/java/org/apache/jena/http/HttpEnv.java             | 3 +++
 jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java       | 1 +
 jena-arq/src/main/java/org/apache/jena/sparql/exec/http/Service.java | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/jena-arq/src/main/java/org/apache/jena/http/HttpEnv.java 
b/jena-arq/src/main/java/org/apache/jena/http/HttpEnv.java
index d95b666f0a..507c050982 100644
--- a/jena-arq/src/main/java/org/apache/jena/http/HttpEnv.java
+++ b/jena-arq/src/main/java/org/apache/jena/http/HttpEnv.java
@@ -23,6 +23,7 @@ import java.net.http.HttpClient.Redirect;
 import java.time.Duration;
 
 import org.apache.jena.http.sys.RegistryRequestModifier;
+import org.apache.jena.query.ARQ;
 import org.apache.jena.riot.RDFFormat;
 
 /**
@@ -60,6 +61,8 @@ public class HttpEnv {
         return httpClientBuilder().build();
     }
 
+    public static final String UserAgent = ARQ.VERSION.contains("devel") ? 
"ApacheJena" : "ApacheJena/"+ARQ.VERSION;
+
     public static HttpClient.Builder httpClientBuilder() {
         return HttpClient.newBuilder()
                 // By default, the client has polling and connection-caching.
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java 
b/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java
index c8460ae1c9..6ba08475f8 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java
@@ -42,6 +42,7 @@ public class HttpNames
     public static final String hServer              = "Server" ;
     public static final String hLocation            = "Location" ;
     public static final String hVary                = "Vary" ;
+    public static final String hUserAgent           = "User-Agent" ;
     public static final String charset              = "charset" ;
 
     // CORS:
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/exec/http/Service.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/exec/http/Service.java
index bc316cbad8..2b6150c719 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/exec/http/Service.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/exec/http/Service.java
@@ -33,6 +33,7 @@ import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.http.HttpEnv;
 import org.apache.jena.http.RegistryHttpClient;
 import org.apache.jena.query.*;
+import org.apache.jena.riot.web.HttpNames;
 import org.apache.jena.sparql.SystemARQ ;
 import org.apache.jena.sparql.algebra.Op ;
 import org.apache.jena.sparql.algebra.OpAsQuery ;
@@ -229,6 +230,7 @@ public class Service {
         QueryExecHTTP qExec = QueryExecHTTP.newBuilder()
                 .endpoint(serviceURL)
                 .timeout(timeoutMillis, TimeUnit.MILLISECONDS)
+                .httpHeader(HttpNames.hUserAgent, HttpEnv.UserAgent)
                 .query(query)
                 .params(serviceParams)
                 .context(context)

Reply via email to