blob: 6fe30375e6c01d6bdbf7440b810b68d7e188a7ab [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Apache Archiva Redback REST API: Files and Libraries</title>
<!-- Mobile viewport optimized: j.mp/bplateviewport -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap core CSS -->
<!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> -->
<!--custom css for these pages-->
<link rel="stylesheet" href="css/enunciate.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.css" type="text/css">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="home">
<div class="container">
<header>
<div id="header" class="column first last span-20">
<div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">Apache Archiva Redback REST API: Files and Libraries</a></div>
<div id="primary" class="column span-18 append-1 prepend-1 first last">
<ul class="navigation">
<li id="nav-rest"><a href="resources.html">REST</a></li>
<li id="nav-data"><a href="data.html">Data Model</a></li>
</ul>
</div>
<div>
<ul class="xbreadcrumbs" id="breadcrumbs">
<li>
<a href="index.html" class="home">Home</a> &gt;
</li>
<li class="current">
<a href="downloads.html">Files and Libraries</a>
</li>
</ul>
</div>
</div>
<!--<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">Apache Archiva Redback REST API: Files and Libraries</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="resources.html">Resources</a></li>
<li><a href="data.html">Data Types</a></li>
<li><a href="downloads.html">Files and Libraries</a></li>
</ul>
</div>
</div>
</nav>-->
</header>
<div id="main" class="column first last span-20">
<h1 class="page-header">Files and Libraries</h1>
<h3 id="artifact_c_client_library">C Client Library</h3>
<p class="lead">Created November 30, 2019</p>
<p><p>
The C module generates the source code for the ANSI-C-compatible data structures and (de)serialization
functions that can be used in conjunction with <a href="http://xmlsoft.org/">libxml2</a> to (de)serialize
the REST resources as they are represented as XML data.
</p>
<p>
The generated C source code depends on the <a href="http://xmlsoft.org/html/libxml-xmlreader.html">XML Reader API</a>
and the <a href="http://xmlsoft.org/html/libxml-xmlwriter.html">XML Writer API</a> as well as the <code>&lt;time.h&gt;</code>,
<code>&lt;string.h&gt;</code>, and <code>&lt;stdlib.h&gt;</code> C standard libraries.
</p>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api.c">
<td>redback-rest-api.c</td>
<td>290,87K</td>
<td>&nbsp;</td>
</tr>
<tr class="clickable-row" data-href="enunciate-common.c">
<td>enunciate-common.c</td>
<td>39,68K</td>
<td>Common code needed for all projects.</td>
</tr>
</tbody>
</table>
<h3 id="artifact_csharp_client_library">C# Client Library</h3>
<p class="lead">Created November 30, 2019</p>
<p>
<p>
The C# client-side library defines the classes that can be (de)serialized to/from XML.
This is useful for accessing the HTTP resources that are published by this application.
</p>
<div class="panel panel-default">
<div class="panel-heading">C# Resource Example</div>
<div class="panel-body">
<pre class="prettyprint lang-csharp">
//read a resource from a REST url
Uri uri = new Uri(...);
XmlSerializer s = new XmlSerializer(
typeof( byte[] )
);
//Create the request object
WebRequest req = WebRequest.Create(uri);
WebResponse resp = req.GetResponse();
Stream stream = resp.GetResponseStream();
TextReader r = new StreamReader( stream );
byte[] result = (byte[]) s.Deserialize( r );
//handle the result as needed...
</pre>
</div>
</div>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api-csharp-xml-client.zip">
<td>redback-rest-api-csharp-xml-client.zip</td>
<td>2,54K</td>
<td>The C# source code for the C# client library.</td>
</tr>
</tbody>
</table>
<h3 id="artifact_gwt_json_overlay">GWT JSON Overlay</h3>
<p class="lead">Created November 30, 2019</p>
<p> <p>
The <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> JSON Overlay library provides the JSON Overlays that
can be used to access the Web service API for this application.
</p>
<div class="panel panel-default">
<div class="panel-heading">JSON Overlay Example</div>
<div class="panel-body">
<pre class="prettyprint lang-java">
String url = ...;
RequestBuilder request = new RequestBuilder(RequestBuilder.GET, url);
request.sendRequest(null, new RequestCallback() {
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
//handle the successful data...
JavaScriptObject data = JavaScriptObject.fromJson(response.getText());
//handle the JavaScriptObject...
}
else {
//handle the error...
}
}
public void onError(Request request, Throwable throwable) {
//handle the error...
}
});
</pre>
</div>
</div>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api-gwt-json-overlay.jar">
<td>redback-rest-api-gwt-json-overlay.jar</td>
<td>10,44K</td>
<td>The sources for the GWT JSON overlay.</td>
</tr>
</tbody>
</table>
<h3 id="artifact_java_xml_client_library">Java XML Client Library</h3>
<p class="lead">Created November 30, 2019</p>
<p><p>
The Java client-side library is used to access the Web service API for this application using Java.
</p>
<p>
The Java client-side library is used to provide the set of Java objects that can be serialized
to/from XML using <a href="https://jaxb.dev.java.net/">JAXB</a>. This is useful for accessing the
resources that are published by this application.
</p>
<div class="panel panel-default">
<div class="panel-heading">Resources Example (Raw JAXB)</div>
<div class="panel-body">
<pre class="prettyprint lang-java">
java.net.URL url = new java.net.URL(baseURL + "/ldapGroupMappingService");
JAXBContext context = JAXBContext.newInstance( byte[].class, byte[].class );
java.net.URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.connect();
Unmarshaller unmarshaller = context.createUnmarshaller();
Marshaller marshaller = context.createMarshaller();
marshaller.marshal(ldapGroupMappingUpdateRequest, connection.getOutputStream());
Object result = (Object) unmarshaller.unmarshal( connection.getInputStream() );
//handle the result as needed...
</pre>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Resources Example (Jersey client)</div>
<div class="panel-body">
<pre class="prettyprint lang-java">
javax.ws.rs.client.Client client = javax.ws.rs.client.ClientBuilder.newClient();
Object result = client.target(baseUrl + "/ldapGroupMappingService")
.post(javax.ws.rs.client.Entity.entity(ldapGroupMappingUpdateRequest, "application/xml"), Object.class);
//handle the result as needed...
</pre>
</div>
</div>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api-xml-client.jar">
<td>redback-rest-api-xml-client.jar</td>
<td>13,82K</td>
<td>The binaries for the Java XML client library.</td>
</tr>
<tr class="clickable-row" data-href="redback-rest-api-xml-client-xml-sources.jar">
<td>redback-rest-api-xml-client-xml-sources.jar</td>
<td>11,70K</td>
<td>The sources for the Java XML client library.</td>
</tr>
</tbody>
</table>
<h3 id="artifact_js_client_library">JavaScript Client Library</h3>
<p class="lead">Created November 30, 2019</p>
<p><p>
The JavaScript client-side library defines classes that can be (de)serialized to/from JSON.
This is useful for accessing the resources that are published by this application, but only
those that produce a JSON representation of their resources (content type "application/json").
</p>
<p>
The library uses ES6 class syntax which has limited support. See
<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#Browser_compatibility">MDN</a>
and the <a href="https://kangax.github.io/compat-table/es6/">ES6 Compatibility Table</a>
for more details.
</p>
<p>
The library contains a UMD loader which supports AMD, CommonJS and browser globals.
The browser global variable name for this library is "javascriptClient".
</p>
<div class="panel panel-default">
<div class="panel-heading">JavaScript Example</div>
<div class="panel-body">
<pre class="prettyprint lang-js">
//read the resource in JSON:
var json = JSON.parse(jsonString);
//create an object
var object = new Object(json);
//retreive the json again
var newJson = object.toJSON();
//serialize the json
var newJsonString = JSON.stringify(newJson);
</pre>
</div>
</div>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api-javascript-client-js.zip">
<td>redback-rest-api-javascript-client-js.zip</td>
<td>4,36K</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<h3 id="artifact_ns0_xsd">ns0.xsd</h3>
<p class="lead">Created November 30, 2019</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="ns0.xsd">
<td>ns0.xsd</td>
<td>9,27K</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<h3 id="artifact_objc_client_library">Objective C Client Library</h3>
<p class="lead">Created November 30, 2019</p>
<p><p>
The Objective C module generates the source code for the Objective C classes and (de)serialization
functions that can be used in conjunction with <a href="http://xmlsoft.org/">libxml2</a> to (de)serialize
the REST resources as they are represented as XML data.
</p>
<p>
The generated Objective C source code depends on the <a href="http://xmlsoft.org/html/libxml-xmlreader.html">XML Reader API</a>
and the <a href="http://xmlsoft.org/html/libxml-xmlwriter.html">XML Writer API</a> as well as the base OpenStep foundation classes.
</p>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api.h">
<td>redback-rest-api.h</td>
<td>17,08K</td>
<td>&nbsp;</td>
</tr>
<tr class="clickable-row" data-href="redback-rest-api.m">
<td>redback-rest-api.m</td>
<td>219,54K</td>
<td>&nbsp;</td>
</tr>
<tr class="clickable-row" data-href="enunciate-common.h">
<td>enunciate-common.h</td>
<td>12,83K</td>
<td>Common header needed for all projects.</td>
</tr>
<tr class="clickable-row" data-href="enunciate-common.m">
<td>enunciate-common.m</td>
<td>42,34K</td>
<td>Common implementation code needed for all projects.</td>
</tr>
</tbody>
</table>
<h3 id="artifact_php_json_client_library">PHP JSON Client Library</h3>
<p class="lead">Created November 30, 2019</p>
<p><p>
The PHP JSON client-side library defines the PHP classes that can be (de)serialized to/from JSON.
This is useful for accessing the resources that are published by this application, but only
those that produce a JSON representation of their resources (content type "application/json").
</p>
<p>
This library requires the <a href="http://php.net/manual/en/function.json-encode.php">json_encode</a> function which was included in PHP versions 5.2.0+.
</p>
<div class="panel panel-default">
<div class="panel-heading">PHP JSON Example</div>
<div class="panel-body">
<pre class="prettyprint lang-php">
//read the resource in JSON:
$json = ...;
//read the json as an array.
$parsed = json_decode($json, true);
//read the json array as the object
$result = new Object($parsed);
//open a writer for the json
$json = $result->toJson();
</pre>
</div>
</div>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api-php-json-client-php.zip">
<td>redback-rest-api-php-json-client-php.zip</td>
<td>4,79K</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<h3 id="artifact_php_xml_client_library">PHP XML Client Library</h3>
<p class="lead">Created November 30, 2019</p>
<p><p>
The PHP client-side library defines the PHP classes that can be (de)serialized to/from XML.
This is useful for accessing the resources that are published by this application, but only
those that produce a XML representation of their resources.
</p>
<p>
This library leverages the <a href="http://php.net/manual/en/book.xmlreader.php">XMLReader</a> and
<a href="http://php.net/manual/en/book.xmlwriter.php">XMLWriter</a> tools that were included in PHP
versions 5.1.0+.
</p>
<div class="panel panel-default">
<div class="panel-heading">PHP XML Example</div>
<div class="panel-body">
<pre class="prettyprint lang-php">
//read the resource in XML form:
$xml = ...;
$reader = new \XMLReader();
if (!$reader->open($xml)) {
throw new \Exception('Unable to open ' . $xml);
}
$result = new Object($reader);
//open a writer for the xml
$out = ...;
$writer = new \XMLWriter();
$writer->openUri($out);
$writer->startDocument();
$writer->setIndent(4);
$result->toXml($writer);
$writer->flush();
</pre>
</div>
</div>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api-php-xml-client-php.zip">
<td>redback-rest-api-php-xml-client-php.zip</td>
<td>6,78K</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<h3 id="artifact_ruby_json_client_library">Ruby JSON Client Library</h3>
<p class="lead">Created November 30, 2019</p>
<p><p>
The Ruby JSON client-side library defines the Ruby classes that can be (de)serialized to/from JSON.
This is useful for accessing the REST endpoints that are published by this application, but only
those that produce a JSON representation of their resources (content type "application/json").
</p>
<p>
This library leverages the <a href="http://json.rubyforge.org/">Ruby JSON Implementation</a>, which is
required in order to use this library.
</p>
<div class="panel panel-default">
<div class="panel-heading">Ruby JSON Example</div>
<div class="panel-body">
<pre class="prettyprint lang-ruby">
require 'net/https'
require 'uri'
//...
//read a resource from a REST url
url = URI.parse("...")
request = Net::HTTP::Post.new(url.request_uri)
input = Object.new
//set up the Object...
request.body = input.to_json
request['Content-Type'] = "application/json"
http = Net::HTTP.new(url.host, url.port)
//set up additional http stuff...
res = http.start do |ht|
ht.request(request)
end
result = Object.from_json(JSON.parse(res.body))
//handle the result as needed...
</pre>
</div>
</div>
</p>
<table class="table table-hover">
<caption>Files</caption>
<thead>
<tr>
<th>name</th>
<th>size</th>
<th>description</th>
</tr>
</thead>
<tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="redback-rest-api.rb">
<td>redback-rest-api.rb</td>
<td>71,03K</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
<footer>
<div class="footer">
Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.
</div>
</footer>
</div>
</div>
<!-- JavaScript placed at the end of the document so the pages load faster. -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.js" type="text/javascript"></script>
</body>
</html>