Skip to content

inert-aesthetic/weblink

 
 

Repository files navigation

weblink

WebLink

Linking Hashlink and other targets to the role of a webserver.

class Main {
    function main() {
        var app = new weblink.Weblink();
        app.get(function(request,response)
        {
            response.send("HELLO WORLD");
        });
        app.listen(2000);
    }
}

Features

  • Uses libuv
  • Minimal and concise with express lib in mind
  • No dependencies, and easy integration
  • Extremely fast, roughly 4x faster than Fastify with big data, and 2x with small Benchmark

Getting Started

Install dev version:

haxelib git weblink https://github.com/PXshadow/weblink

Include in build.hxml

-lib weblink

Targets

requires libuv (asys in the future)

  • hashlink (uses libuv)
  • more targets in the future using asys

Benchmark

Supported

  • methods
    • GET
    • POST
    • OPTIONS
    • HEAD
    • PUT
  • encoding
    • gzip
    • compress
    • deflate
    • br
  • caching
    • age
    • expires
  • security
  • extra
    • content type
    • bytes (png image for instance)
    • redirects
    • serve web content (files ex: html/images/sounds)
    • connection public ip (haxe 4.2)
    • projection (a type with certain attributes of another type, useful to send only some data)

Contributing

  1. Fork

  2. Clone and setup

  3. Configure VSCode :

    Add that in .vscode/launch.json :

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "HashLink (launch)",
                "request": "launch",
                "type": "hl",
                "cwd": "${workspaceFolder}",
                "preLaunchTask": {
                    "type": "haxe",
                    "args": "active configuration"
                }
            },
            {
                "name": "HashLink (attach)",
                "request": "attach",
                "port": 6112,
                "type": "hl",
                "cwd": "${workspaceFolder}",
                "preLaunchTask": {
                    "type": "haxe",
                    "args": "active configuration"
                }
            }
        ]
    }
    
  4. Develop (and press F5 to launch hashlink)

  5. Pull request

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haxe 99.8%
  • Shell 0.2%