use of java.net.http.HttpClient in project jena by apache.
the class GSP method PUT.
// /**
// * POST a graph.
// * <p>
// * Synonym for {@link #POST(Graph)}.
// */
// public void postGraph(Graph graph) {
// // Synonym
// POST(graph);
// }
/**
* PUT the contents of a file using the filename extension to determine the
* Content-Type to use if it is not already set.
* <p>
* This operation does not parse the file.
* <p>
* If the data may have quads (named graphs), use {@link #putDataset(String)}.
*/
public void PUT(String file) {
validateGraphOperation();
String url = graphRequestURL();
String fileExtContentType = contentTypeFromFilename(file);
HttpClient hc = requestHttpClient(serviceEndpoint, url);
uploadTriples(hc, url, file, fileExtContentType, httpHeaders, Push.PUT);
}
use of java.net.http.HttpClient in project jena by apache.
the class ExFuseki_06_DataAccessCtl method main.
public static void main(String... a) {
FusekiLogging.setLogging();
int port = WebLib.choosePort();
String datasetName = "/ds";
String URL = format("http://localhost:%d%s", port, datasetName);
// ---- Set up the registry.
AuthorizationService authorizeSvc;
{
SecurityRegistry reg = new SecurityRegistry();
// user1 can see the default graph and :g1
reg.put("user1", new SecurityContextView("http://example/g1", Quad.defaultGraphIRI.getURI()));
// user2 can see :g1
reg.put("user2", new SecurityContextView("http://example/g1"));
// user3 can see :g1 and :g2
reg.put("user3", new SecurityContextView("http://example/g1", "http://example/g2"));
// Hide implementation.
authorizeSvc = reg;
}
// ---- Some data
DatasetGraph dsg = createData();
// ---- User authentication database (Jetty specific)
UserStore userStore = new UserStore();
addUserPassword(userStore, "user1", "pw1", "**");
addUserPassword(userStore, "user2", "pw2", "**");
try {
userStore.start();
} catch (Exception ex) {
throw new RuntimeException("UserStore", ex);
}
// ---- Build server, start server.
FusekiServer server = fuseki(port, userStore, authorizeSvc, datasetName, dsg);
server.start();
// ---- HttpClient connection with user and password basic authentication.
Authenticator authenticator = AuthLib.authenticator("user1", "pw1");
HttpClient client = HttpClient.newBuilder().authenticator(authenticator).connectTimeout(Duration.ofSeconds(10)).build();
// ---- Use it.
try (RDFConnection conn = RDFConnectionRemote.newBuilder().destination(URL).httpClient(client).build()) {
// What can we see of the database? user1 can see g1 and the default graph
System.out.println("\nFetch dataset");
Dataset ds1 = conn.fetchDataset();
RDFDataMgr.write(System.out, ds1, RDFFormat.TRIG_FLAT);
// Get a graph.
System.out.println("\nFetch named graph");
Model m1 = conn.fetch("http://example/g1");
RDFDataMgr.write(System.out, m1, RDFFormat.TURTLE_FLAT);
// Get a graph. user tries to get a graph they have no permission for ==> 404
System.out.println("\nFetch unexistent named graph");
try {
Model m2 = conn.fetch("http://example/g2");
} catch (HttpException ex) {
System.out.println(ex.getMessage());
}
}
// Need to exit the JVM : there is a background server
System.exit(0);
}
use of java.net.http.HttpClient in project jena by apache.
the class AbstractTestWebappAuth_JDK method withAuthJDK.
public static QueryExecutionHTTP withAuthJDK(QueryExecutionHTTPBuilder builder, String user, String passwd) {
Authenticator authenticator = AuthLib.authenticator(user, passwd);
HttpClient hc = HttpClient.newBuilder().authenticator(authenticator).build();
return builder.httpClient(hc).build();
}
use of java.net.http.HttpClient in project jena by apache.
the class ExAuth02_QueryExecutionPW method exampleQueryAuthWithHttpClient.
// HttpClient
public static void exampleQueryAuthWithHttpClient() {
System.out.println();
System.out.println("HttpClient + QueryExecutionHTTP");
Authenticator authenticator = AuthLib.authenticator("u", "p");
HttpClient httpClient = HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).authenticator(authenticator).build();
try (QueryExecution qexec = QueryExecutionHTTP.service(dataURL).httpClient(httpClient).endpoint(dataURL).queryString("ASK{}").build()) {
qexec.execAsk();
}
}
use of java.net.http.HttpClient in project jena by apache.
the class ExAuth04_ServicePW method exampleServiceByHttpClient.
private static void exampleServiceByHttpClient() {
System.out.println();
System.out.println("Custom HttpClient + SERVICE call");
Authenticator authenticator = AuthLib.authenticator("u", "p");
HttpClient httpClient = HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(10)).authenticator(authenticator).build();
Context cxt = ContextAccumulator.newBuilder().set(ARQ.httpQueryClient, httpClient).context();
Query query = QueryFactory.create("SELECT * { SERVICE <" + dataURL + "> { ?s ?p ?o } }");
Dataset emptyLocal = DatasetFactory.empty();
try (QueryExecution qExec = QueryExecution.create().query(query).dataset(emptyLocal).context(cxt).build()) {
System.out.println("Call using SERVICE...");
ResultSet rs = qExec.execSelect();
ResultSetFormatter.out(rs);
}
}
Aggregations