Go
REST API
See root documentation of API Reference.
Helper Library
You can use MemGet, MemSet, MemDel, Log
anywhere in your code.
help.go
package main
import (
"fmt"
"io/ioutil"
"net/http"
"strings"
"os"
"encoding/json"
)
type APIResponse struct {
Status string `json:"status"`
Reply string `json:"reply"`
}
func APIRoute(op string, m map[string]string) string{
url := "https://memory.backbench.io/"
bench := strings.Split(os.Getenv("benchName"), ":")
fmt.Println("she dont know")
str:="{\"cmd\": \""+op+"\",\"auth\": {\"userId\": \""+bench[0]+"\",\"benchId\": \""+bench[1]+"\",\"accessKey\": \""+os.Getenv("ACCESS_KEY")+"\"},\"args\": {\"message\": \""+m["message"]+"\",\"key\": \""+m["key"]+"\",\"value\": \""+m["value"]+"\"}}"
// fmt.Println(str)
payload := strings.NewReader(str)
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
var apir APIResponse
err := json.Unmarshal(body, &apir)
if err != nil {
fmt.Println("error:", err)
}
// fmt.Printf("%+v", apir)
// fmt.Println(apir)
return apir.Reply
}
func MemGet(key string) string {
m:= make(map[string]string)
m["key"] = key
r := APIRoute("bb:mem:get", m)
if strings.Contains(r, "errorMessage") {
return ""
}
return r
}
func MemSet(key string, value string) {
m:= make(map[string]string)
m["key"] = key
m["value"] = value
APIRoute("bb:mem:set", m)
}
func MemDel(key string) {
m:= make(map[string]string)
m["key"] = key
APIRoute("bb:mem:del", m)
}
func Log(message string) {
m:= make(map[string]string)
m["message"] = message
APIRoute("bb:log", m)
}
Last updated