init commit
This commit is contained in:
parent
6327fb08af
commit
296f429bac
3
.htaccess
Normal file
3
.htaccess
Normal file
@ -0,0 +1,3 @@
|
||||
RewriteEngine on
|
||||
RewriteRule ^/?get/(.+)$ /dweet.io/redis.php?action=get&key=$1
|
||||
RewriteRule ^/?set/(.+)/(.+)$ /dweet.io/redis.php?action=set&key=$1&val=$2
|
12
README.md
12
README.md
@ -1,3 +1,15 @@
|
||||
# dweet
|
||||
|
||||
dweet.io-like opensource
|
||||
|
||||
Installation
|
||||
------------
|
||||
1. `git clone` this repo.
|
||||
2. `composer install`
|
||||
|
||||
API
|
||||
------------
|
||||
- `https://your-dweet.url/get/<key>`
|
||||
- `https://your-dweet.url/set/<key>/<value>`
|
||||
|
||||
Values are stored up to 24 hours.
|
13
composer.json
Normal file
13
composer.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "tasty/dweet",
|
||||
"type": "project",
|
||||
"require": {
|
||||
"predis/predis": "^1.1"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "HipsterCat",
|
||||
"email": "tasty@hipstercat.fr"
|
||||
}
|
||||
]
|
||||
}
|
64
redis.php
Normal file
64
redis.php
Normal file
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
function g($key) {
|
||||
if (isset($_GET[$key])) return $_GET[$key];
|
||||
else return false;
|
||||
}
|
||||
function _die($type, $msg) {
|
||||
header('Content-Type: application/json');
|
||||
die(json_encode(array($type => $msg)));
|
||||
}
|
||||
function edie($msg) {
|
||||
_die("error", $msg);
|
||||
}
|
||||
function sdie($msg) {
|
||||
_die("success", $msg);
|
||||
}
|
||||
function ddie($msg) {
|
||||
_die("data", $msg);
|
||||
}
|
||||
function get_redis($key) {
|
||||
$client = new Predis\Client();
|
||||
ddie($client->get($key));
|
||||
}
|
||||
function set_redis($key, $val) {
|
||||
$client = new Predis\Client();
|
||||
$client->set($key, $val);
|
||||
$client->expire($key, 86400); // 1d
|
||||
sdie("ok");
|
||||
}
|
||||
require 'vendor/autoload.php';
|
||||
Predis\Autoloader::register();
|
||||
|
||||
if (g("action") === "get") {
|
||||
$key = g("key");
|
||||
if ($key) {
|
||||
// get redis key
|
||||
get_redis($key);
|
||||
} else {
|
||||
// no key
|
||||
edie("no key given");
|
||||
}
|
||||
} elseif (g("action") === "set") {
|
||||
$key = g("key");
|
||||
if ($key) {
|
||||
$val = g("val");
|
||||
if ($val) {
|
||||
// set redis val for key
|
||||
set_redis($key, $val);
|
||||
} else {
|
||||
$data = json_decode(file_get_contents('php://input'), true);
|
||||
if ($data === NULL) {
|
||||
// got key but no val
|
||||
edie("no val given");
|
||||
} else {
|
||||
set_redis($key, $data);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// no key
|
||||
edie("no key given");
|
||||
}
|
||||
} else {
|
||||
edie("no action given");
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user