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