update readme.md

Commit 224c390 · patx · 2025-02-09T16:25:35-05:00

Changeset
224c390b13066dfb2a7f57ac62c2f75693c6eb7b
Parents
f1bb9ac8ccf3f9adcb3474354d07746a1b0eb4fb

View source at this commit

Comments

No comments yet.

Log in to comment

Diff

diff --git a/README.md b/README.md
index 856f908..00a25a5 100644
--- a/README.md
+++ b/README.md
@@ -376,29 +376,48 @@ def backup_to_s3(db_instance, bucket_name, s3_key):
 backup_to_s3(db, 'my-s3-bucket', 'backup/my_database.db')
 ```
 
-### Use pickleDB over HTTP (REST)
+### Use pickleDB over HTTP
 Access pickleDB database with any language that can handle REST requests:
 ```python
-from flask import Flask, request, jsonify
-from pickledb import PickleDB
+from pickledb import AsyncPickleDB
+from MicroPie import App
+import orjson
+import uvicorn
+
+DB_NAME = input('Enter database name: ')
+db = AsyncPickleDB(DB_NAME)
+
+
+class Root(App):
 
-app = Flask(__name__)
-db = PickleDB('api.db')
+    async def set(self, key, value):
+        await db.aset(key, value)
+        return orjson.dumps({key: value})
 
[email protected]('/set', methods=['POST'])
-def set_value():
-    data = request.json
-    db.set(data['key'], data['value'])
-    db.save()
-    return jsonify({"message": "Value saved!"})
+    async def get(self, key):
+        value = await db.aget(key)
+        return orjson.dumps({key: value})
 
[email protected]('/get/<key>', methods=['GET'])
-def get_value(key):
-    value = db.get(key)
-    return jsonify({"value": value})
+    async def remove(self, key):
+        await db.aremove(key)
+        return orjson.dumps({'action': 'removed'})
+
+    async def purge(self):
+        await db.apurge()
+        return orjson.dumps({'action': 'purge'})
+
+    async def all(self):
+        return orjson.dumps(await db.aall())
+
+    async def save(self):
+        await db.asave()
+        return orjson.dumps({'action': 'save'})
+
+
+app = Root()
 
-if __name__ == '__main__':
-    app.run(debug=True)
+if __name__ == "__main__":
+    uvicorn.run(app, host="127.0.0.1", port=5272)
 ```
 
 ### Key Pattern Matching