package org.basex.examples.rest; import java.io.*; import java.net.*; import org.basex.*; /** * This class is a simple example to demonstrate the REST implementation. * It shows the function of the HTTP PUT method. * * @author BaseX Team 2005-17, BSD License */ public final class RESTPut { /** * Runs the example. * @throws IOException I/O exception */ static void run() throws IOException { System.out.println("=== PUT: create a new database ==="); // The java URL connection to the resource URL url = new URL("http://admin:admin@localhost:8984/rest/factbook"); System.out.println("\n* URL: " + url); // Establish the connection to the URL HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // Set an output connection conn.setDoOutput(true); // Set as PUT request conn.setRequestMethod("PUT"); // Get and cache output stream; create and cache file input stream try(OutputStream out = new BufferedOutputStream(conn.getOutputStream()); InputStream in = new BufferedInputStream( new FileInputStream("src/main/resources/xml/factbook.xml"))) { // Send document to server System.out.println("\n* Send document..."); for(int i; (i = in.read()) != -1;) out.write(i); } // Print the HTTP response code System.out.println("\n* HTTP response: " + conn.getResponseCode() + " (" + conn.getResponseMessage() + ')'); // Close connection conn.disconnect(); } /** * Main method. * @param args (ignored) command-line arguments * @throws Exception exception */ public static void main(final String... args) throws Exception { // Start server, set admin as default user final BaseXHTTP http = new BaseXHTTP("-U", "admin"); // Run example run(); // Stop servers http.stop(); } }