mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
restructure the html/rpc.php endpoint
- move request_method test to the top, and catch other request types (HEAD, PUT, etc) - change how html output is handled. instead of building a string, just output the html - set appropriate response header for incorrect request_method. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
parent
0df6d7b4e7
commit
4a24bca069
1 changed files with 33 additions and 28 deletions
|
@ -1,36 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');
|
set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');
|
||||||
|
|
||||||
include_once("aurjson.class.php");
|
include_once("aurjson.class.php");
|
||||||
|
|
||||||
if ( $_SERVER['REQUEST_METHOD'] == 'GET' ) {
|
if ( $_SERVER['REQUEST_METHOD'] != 'GET' ) {
|
||||||
if ( isset($_GET['type']) ) {
|
header('HTTP/1.1 405 Method Not Allowed');
|
||||||
$rpc_o = new AurJSON();
|
exit();
|
||||||
echo $rpc_o->handle($_GET);
|
}
|
||||||
}
|
|
||||||
else {
|
if ( isset($_GET['type']) ) {
|
||||||
// dump a simple usage output for people to use.
|
$rpc_o = new AurJSON();
|
||||||
// this could be moved to an api doc in the future, or generated from
|
echo $rpc_o->handle($_GET);
|
||||||
// the AurJSON class directly with phpdoc. For now though, just putting it here.
|
|
||||||
echo '<html><body>';
|
|
||||||
echo 'The methods currently allowed are: <br />';
|
|
||||||
echo '<ul>';
|
|
||||||
echo '<li>search</li>';
|
|
||||||
echo '<li>info</li>';
|
|
||||||
echo '<li>multiinfo</li>';
|
|
||||||
echo '<li>msearch</li>';
|
|
||||||
echo '</ul><br />';
|
|
||||||
echo 'Each method requires the following HTTP GET syntax:<br />';
|
|
||||||
echo ' type=<i>methodname</i>&arg=<i>data</i> <br /><br />';
|
|
||||||
echo 'Where <i>methodname</i> is the name of an allowed method, and <i>data</i> is the argument to the call.<br />';
|
|
||||||
echo '<br />';
|
|
||||||
echo 'If you need jsonp type callback specification, you can provide an additional variable <i>callback</i>.<br />';
|
|
||||||
echo 'Example URL: <br /> http://aur-url/rpc.php?type=search&arg=foobar&callback=jsonp1192244621103';
|
|
||||||
echo '</body></html>';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
echo 'POST NOT SUPPORTED';
|
// dump a simple usage output for people to use.
|
||||||
|
// this could be moved to an api doc in the future, or generated from
|
||||||
|
// the AurJSON class directly with phpdoc. For now though, just putting it
|
||||||
|
// here.
|
||||||
|
?>
|
||||||
|
<html><body>
|
||||||
|
The methods currently allowed are: <br />
|
||||||
|
<ul>
|
||||||
|
<li>search</li>
|
||||||
|
<li>info</li>
|
||||||
|
<li>multiinfo</li>
|
||||||
|
<li>msearch</li>
|
||||||
|
</ul> <br />
|
||||||
|
Each method requires the following HTTP GET syntax: <br />
|
||||||
|
type=<i>methodname</i>&arg=<i>data</i>
|
||||||
|
<br /><br />
|
||||||
|
Where <i>methodname</i> is the name of an allowed method, and <i>data</i> is the argument to the call.
|
||||||
|
<br /><br />
|
||||||
|
If you need jsonp type callback specification, you can provide an additional variable <i>callback</i>.
|
||||||
|
<br />
|
||||||
|
Example URL: <br />
|
||||||
|
http://aur-url/rpc.php?type=search&arg=foobar&callback=jsonp1192244621103
|
||||||
|
</body></html>
|
||||||
|
<?php
|
||||||
|
// close if statement
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Add table
Reference in a new issue