Examples

Have a Question?
Categories
< All Topics
Print

Examples

Make Router


The router socket structure was created with the intention of creating an API over the HTTP/S protocol and exchanging data through the socket. In web based projects it is possible to write web server quickly and easily. In addition, the API can be created in micro-services.

hello.olm (as hello module):

def hello = fn(name){
   return ("Hello, "+name+"! Welcome to Olang")
 }

router.ol (as router):

load "hello.olm"
 def config = {
   "/": {
     type: "GET",
     response: "Welcome to the O-Lang Router!"
   },
   "/:name":{
     type: "POST",
     response: (hello("{{.name}}"))
   }
 }
 show("Listening 0.0.0.0:8080... Ctrl+C to exit.")
 webserver("8080",  config);

GET method test:

~> curl -X GET localhost:8080
 Welcome to the O-Lang Router!

POST method test (oytun as parameter value for name [ :name => {{.name}} ]):

~> curl -X POST localhost:8080/oytun
 Hello, oytun! Welcome to Olang

As you can see in the example, we wrote a web micro service using port 8080 via get and post methods.

= Dialers =
Dialer functions can automatically initiate a socket or provide sockete access and automatically communicate over a socket.

dial_serve.ola (dial serve example):

sock socket "tcp4" "9050" "0.0.0.0"; 

 def messages = { 
    "ping”: "pong”, 
    "call”: "Calling… NOPE! :)”, 
    "help”: "Not helpfull!” 
 } 

 sock_listen(socket, messages)

The 9050 port is ready to connect.

dial_client.ol (dial client example):

sock socket "tcp4" "9050" "0.0.0.0";
 def send = fn(message){
   println(sock_send(socket, message))
 } 
 send("call")
 send("help")

Output:

Calling... NOPE! :)
 Not helpfull!

Encrypted Code


The Site would teach a product encryption technique. Basically, we have a code that we will encrypt and make it run. So the content of the code will not be read.

product-key.txt

ABC-1234-1234-1234

rawcode.ola:

def screetfunc = fn(){
    println('Screet Function!')
};
screetfunc()

encode.ola:

def key = (read('product-key.txt'))
def enctext = (encrypt(key, (read('rawcode.ola'))))
write('encodedcode.ola', enctext)

decode.ola:

def key = (read('product-key.txt'))
eval(decrypt(key, (read('encodedcode.ola'))))
# => 'Screet Function!'

First, we have a secret code in our “rawcode.ola” file. Our “encode.ola” code will encrypt this and “product-key.txt” will be used. Then our “decode.ola” file will read “product-key.txt” and decrypt the target file and run it.

Table of Contents