mirror of
https://github.com/DeBrosOfficial/network.git
synced 2026-01-30 09:53:03 +00:00
- Introduced a new `example.http` file containing comprehensive API examples for the Orama Network Gateway, demonstrating various functionalities including health checks, distributed cache operations, decentralized storage interactions, real-time pub/sub messaging, and serverless function management. - Updated the README to include a section on serverless functions using WebAssembly (WASM), detailing the build, deployment, invocation, and management processes for serverless functions. - Removed outdated debug configuration file to streamline project structure.
158 lines
3.6 KiB
HTTP
158 lines
3.6 KiB
HTTP
### Orama Network Gateway API Examples
|
|
# This file is designed for the VS Code "REST Client" extension.
|
|
# It demonstrates the core capabilities of the DeBros Network Gateway.
|
|
|
|
@baseUrl = http://localhost:6001
|
|
@apiKey = ak_X32jj2fiin8zzv0hmBKTC5b5:default
|
|
@contentType = application/json
|
|
|
|
############################################################
|
|
### 1. SYSTEM & HEALTH
|
|
############################################################
|
|
|
|
# @name HealthCheck
|
|
GET {{baseUrl}}/v1/health
|
|
X-API-Key: {{apiKey}}
|
|
|
|
###
|
|
|
|
# @name SystemStatus
|
|
# Returns the full status of the gateway and connected services
|
|
GET {{baseUrl}}/v1/status
|
|
X-API-Key: {{apiKey}}
|
|
|
|
###
|
|
|
|
# @name NetworkStatus
|
|
# Returns the P2P network status and PeerID
|
|
GET {{baseUrl}}/v1/network/status
|
|
X-API-Key: {{apiKey}}
|
|
|
|
|
|
############################################################
|
|
### 2. DISTRIBUTED CACHE (OLRIC)
|
|
############################################################
|
|
|
|
# @name CachePut
|
|
# Stores a value in the distributed cache (DMap)
|
|
POST {{baseUrl}}/v1/cache/put
|
|
X-API-Key: {{apiKey}}
|
|
Content-Type: {{contentType}}
|
|
|
|
{
|
|
"dmap": "demo-cache",
|
|
"key": "video-demo",
|
|
"value": "Hello from REST Client!"
|
|
}
|
|
|
|
###
|
|
|
|
# @name CacheGet
|
|
# Retrieves a value from the distributed cache
|
|
POST {{baseUrl}}/v1/cache/get
|
|
X-API-Key: {{apiKey}}
|
|
Content-Type: {{contentType}}
|
|
|
|
{
|
|
"dmap": "demo-cache",
|
|
"key": "video-demo"
|
|
}
|
|
|
|
###
|
|
|
|
# @name CacheScan
|
|
# Scans for keys in a specific DMap
|
|
POST {{baseUrl}}/v1/cache/scan
|
|
X-API-Key: {{apiKey}}
|
|
Content-Type: {{contentType}}
|
|
|
|
{
|
|
"dmap": "demo-cache"
|
|
}
|
|
|
|
|
|
############################################################
|
|
### 3. DECENTRALIZED STORAGE (IPFS)
|
|
############################################################
|
|
|
|
# @name StorageUpload
|
|
# Uploads a file to IPFS (Multipart)
|
|
POST {{baseUrl}}/v1/storage/upload
|
|
X-API-Key: {{apiKey}}
|
|
Content-Type: multipart/form-data; boundary=boundary
|
|
|
|
--boundary
|
|
Content-Disposition: form-data; name="file"; filename="demo.txt"
|
|
Content-Type: text/plain
|
|
|
|
This is a demonstration of decentralized storage on the Sonr Network.
|
|
--boundary--
|
|
|
|
###
|
|
|
|
# @name StorageStatus
|
|
# Check the pinning status and replication of a CID
|
|
# Replace {cid} with the CID returned from the upload above
|
|
@demoCid = bafkreid76y6x6v2n5o4n6n5o4n6n5o4n6n5o4n6n5o4
|
|
GET {{baseUrl}}/v1/storage/status/{{demoCid}}
|
|
X-API-Key: {{apiKey}}
|
|
|
|
###
|
|
|
|
# @name StorageDownload
|
|
# Retrieve content directly from IPFS via the gateway
|
|
GET {{baseUrl}}/v1/storage/get/{{demoCid}}
|
|
X-API-Key: {{apiKey}}
|
|
|
|
|
|
############################################################
|
|
### 4. REAL-TIME PUB/SUB
|
|
############################################################
|
|
|
|
# @name ListTopics
|
|
# Lists all active topics in the current namespace
|
|
GET {{baseUrl}}/v1/pubsub/topics
|
|
X-API-Key: {{apiKey}}
|
|
|
|
###
|
|
|
|
# @name PublishMessage
|
|
# Publishes a base64 encoded message to a topic
|
|
POST {{baseUrl}}/v1/pubsub/publish
|
|
X-API-Key: {{apiKey}}
|
|
Content-Type: {{contentType}}
|
|
|
|
{
|
|
"topic": "network-updates",
|
|
"data_base64": "U29uciBOZXR3b3JrIGlzIGF3ZXNvbWUh"
|
|
}
|
|
|
|
|
|
############################################################
|
|
### 5. SERVERLESS FUNCTIONS
|
|
############################################################
|
|
|
|
# @name ListFunctions
|
|
# Lists all deployed serverless functions
|
|
GET {{baseUrl}}/v1/functions
|
|
X-API-Key: {{apiKey}}
|
|
|
|
###
|
|
|
|
# @name InvokeFunction
|
|
# Invokes a deployed function by name
|
|
# Path: /v1/invoke/{namespace}/{functionName}
|
|
POST {{baseUrl}}/v1/invoke/default/hello
|
|
X-API-Key: {{apiKey}}
|
|
Content-Type: {{contentType}}
|
|
|
|
{
|
|
"name": "Developer"
|
|
}
|
|
|
|
###
|
|
|
|
# @name WhoAmI
|
|
# Validates the API Key and returns caller identity
|
|
GET {{baseUrl}}/v1/auth/whoami
|
|
X-API-Key: {{apiKey}} |