Fejlesztések

 ( log69 | 2018. február 17., szombat - 14:40 )

git log | grep feature | head -n1

  1. add feature: new api command "code" to call server side code from client side


Megjegyzések:

  1. meg akartam csinálni hogy API-n keresztül tudjak kliens oldalról szerver oldali kódot hívni de olyat, amit szintén a kódjaim közé veszek fel, átpasszolva bármennyi és bármilyen adatot
  2. ?share? parancs után egy tetszőleges jelszó áll, ez nélkül nem kerül megosztásra a kód és nem lesz hívható
  3. data változóban átadott adat struktúra úgy jelenik meg, hogy a szerver oldali kód első sorába beillesztésre kerül egy "var data = {...};" sor még a futtatás előtt
  4. az API hívás által visszaadott struktúra így néz ki: {error: "", data = "bármi"} melynél data értéke a szerver oldali kód stdout-ja, míg error értéke az stderr

Példa szerver oldalon megvalósított hash-re kliens oldalról hívva:

Szerver oldal (klikk):

?server?
?share?   437765056802588521768626543287


<script type="text/coffee">

    c = require "crypto"
    console.log  c.createHash("sha1").update(data).digest("base64")

</script>


Kliens oldal (klikk):

?include? api

<style>
    *     { font-size: 120%; }

    input {
        padding: 0.5em;
        width: 100%;
        max-width: 15em;
        box-sizing: border-box;
    }
</style>

<input id="text" placeholder="text to base64 sha1" type="text">

<p id="out"></p>


<script type="text/coffee">

    obj = (id) -> return document.getElementById(id)

    obj("text").onkeydown = (e) ->
        if e.keyCode == 13

            text = obj("text").value
            text = JSON.stringify(text)
            text = text.substr(1, text.length-2)

            if text == ""
                obj("out").innerHTML = ""
            else

                request {
                    command: "code",
                    uuid: "515486360632378468559990194784",
                    pass: "437765056802588521768626543287",
                    data: text
                }, (res) ->

                    obj("out").innerHTML = "<tt>#{res.data}</tt>"

</script>


API (klikk):

# data parameter can be of any type (object, array, number, text)

request {
        command: "code",
        uuid: "XXX",
        pass: "YYY",
        data: {anything: "whatever"}
    }, (respond) ->

        console.log  JSON.stringify  respond

Weboldal | Dokumentáció