Download the PHP package gbv/jskos-http without Composer
On this page you can find all versions of the php package gbv/jskos-http. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gbv/jskos-http
More information about gbv/jskos-http
Files in gbv/jskos-http
Package jskos-http
Short Description JSKOS API implementation (server and client)
License LGPL
Homepage http://gbv.github.io/jskos-http/
Informations about the package jskos-http
jskos-http - JSKOS API implementation
Requirements
Requires PHP 7.0 or PHP 7.1, package jskos, and any package listed as php-http/client-implementation.
Bugs and feature request are tracked on GitHub.
Installation
With composer
Install a php-http/client-implementation and the latest version of this package, e.g.:
composer require php-http/curl-client gbv/jskos-http
This will automatically create composer.json
for your project (unless it already exists) and add jskos-http as dependency. Composer also generates vendor/autoload.php
to get autoloading of all dependencies:
Usage and examples
See directory jskos-php-examples for an example application.
Client
See class Client
to query JSKOS API and get back Result
objects.
use JSKOS\Client;
$client = new Client('http://example.org/');
$result = $client->query(['uri'=>$uri]);
if (count($result)) {
...
}
An optional Http\Client\HttpClient
can be passed as second argument. Use this for instance to log all HTTP requests:
$handler = \GuzzleHttp\HandlerStack::create();
foreach(['{method} {uri}', '{code} - {res_body}'] as $format) {
$handler->unshift(
\GuzzleHttp\Middleware::log(
$logger, // e.g. Monolog\Logger
new \GuzzleHttp\MessageFormatter($format)
)
);
}
$httpClient = \Http\Adapter\Guzzle6\Client::createWithConfig([
'handler' => $handler,
]);
$jskoClient = new Client('http://example.org/', $httpClient);
Server
Class Server
wraps a JSKOS Service
with PSR-7 HTTP message interfaces so it can be used with your favorite PSR-7 framework. An example with Slim:
$server = new JSKOS\Server($service);
$app = new Slim\App();
$app->get('/api', function ($request) use ($server) {
return $server->query($request);
});
$app->run();
But there is no need to use an additional framework to support simple HTTP GET requests:
use JSKOS;
$server = new Server($service);
$response = $server->queryService($_GET, $_SERVER['PATH_INFO'] ?? '');
Server::sendResponse($response);
Author and License
Jakob Voß [email protected]
JSKOS-HTTP is licensed under the LGPL license - see LICENSE.md
for details.
See also
JSKOS is created as part of project coli-conc: https://coli-conc.gbv.de/.
The current specification of JSKOS is available at http://gbv.github.io/jskos/.
All versions of jskos-http with dependencies
gbv/jskos Version ~0.3.2
psr/http-message Version ^1.0
psr/cache Version ^1.0
psr/log Version ^1.0
php-http/client-implementation Version ^1.0
php-http/discovery Version ^1.0