Infinispan and REST client-side code examples
Ruby client code: # # Shows how to interact with Infinispan REST api from ruby. # No special libraries, just standard net/http # # Author: Michael Neale # require 'net/http'  http = Net::HTTP.new('localhost', 8080)  #Create new entry http.post('/infinispan/rest/MyData/MyKey', 'DATA HERE', {"Content-Type" => "text/plain"})  #get it back puts http.get('/infinispan/rest/MyData/MyKey').body  #use PUT to overwrite http.put('/infinispan/rest/MyData/MyKey', 'MORE DATA', {"Content-Type" => "text/plain"})  #and remove... http.delete('/infinispan/rest/MyData/MyKey')  #Create binary data like this... just the same... http.put('/infinispan/rest/MyImages/Image.png', File.read('/Users/michaelneale/logo.png'), {"Content-Type" => "image/png"})   #and if you want to do json... require 'rubygems' require 'json'  #now for fun, lets do some JSON ! data = {:name => "michael", :age => 42 } http.put('/infinispan/rest/Users/data/0', data.to_json, {"Content-Type" => "application/json"})  Python client code: # # Sample python code using the standard http lib only #  import httplib   #putting data in conn = httplib.HTTPConnection("localhost:8080") data = "SOME DATA HERE !" #could be string, or a file... conn.request("POST", "/infinispan/rest/Bucket/0", data,   {"Content-Type": "text/plain"}) response = conn.getresponse() print response.status  #getting data out import httplib conn = httplib.HTTPConnection("localhost:8080") conn.request("GET", "/infinispan/rest/Bucket/0") response = conn.getresponse() print response.status print response.read()  Java client code: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL;  /** * Rest example accessing Infinispan Cache. * @author Samuel Tauil (samuel@redhat.com) * */ public class RestExample {      /**      * Method that puts a String value in cache.      * @param urlServerAddress      * @param value      * @throws IOException      */     public void putMethod(String urlServerAddress, String value) throws IOException {                   System.out.println("----------------------------------------");          System.out.println("Executing PUT");          System.out.println("----------------------------------------");          URL address = new URL(urlServerAddress);          System.out.println("executing request " + urlServerAddress);          HttpURLConnection connection = (HttpURLConnection) address.openConnection();          System.out.println("Executing put method of value: " + value);          connection.setRequestMethod("PUT");          connection.setRequestProperty("Content-Type", "text/plain");          connection.setDoOutput(true);           OutputStreamWriter outputStreamWriter = new OutputStreamWriter(connection.getOutputStream());          outputStreamWriter.write(value);                   connection.connect();          outputStreamWriter.flush();                 System.out.println("----------------------------------------");        System.out.println(connection.getResponseCode() + " " + connection.getResponseMessage());        System.out.println("----------------------------------------");                 connection.disconnect();              }         /**      * Method that gets an value by a key in url as param value.      * @param urlServerAddress      * @return String value      * @throws IOException      */     public String getMethod(String urlServerAddress) throws IOException {                   String line = new String();          StringBuilder stringBuilder = new StringBuilder();           System.out.println("----------------------------------------");          System.out.println("Executing GET");          System.out.println("----------------------------------------");                   URL address = new URL(urlServerAddress);          System.out.println("executing request " + urlServerAddress);                   HttpURLConnection connection = (HttpURLConnection) address.openConnection();          connection.setRequestMethod("GET");          connection.setRequestProperty("Content-Type", "text/plain");          connection.setDoOutput(true);           BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));                   connection.connect();           while ((line = bufferedReader.readLine()) != null)           {              stringBuilder.append(line + '\n');           }                  System.out.println("Executing get method of value: " + stringBuilder.toString());                   System.out.println("----------------------------------------");        System.out.println(connection.getResponseCode() + " " + connection.getResponseMessage());        System.out.println("----------------------------------------");                 connection.disconnect();               return stringBuilder.toString();     }         /**      * Main method example.      * @param args      * @throws IOException      */     public static void main(String[] args) throws IOException {                   //Attention to the cache name "cacheX" it was configured in xml file with tag          RestExample restExample = new RestExample();          restExample.putMethod("http://localhost:8080/infinispan/rest/cacheX/1", "Infinispan REST Test");          restExample.getMethod("http://localhost:8080/infinispan/rest/cacheX/1");              } }