Code Monkey home page Code Monkey logo

xauxi's People

Contributors

ia97lies avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

syaroslavtsev

xauxi's Issues

SSL Support

Let's see how this can be done with LuaNode ...

Send error

Send a 500 if have internal problems as long sending is possible. Use pcall to capsulate stuff.

Register/Map Plugins

Instead to call the plugins in a function chain a flat model should also be possible.

Fix instability

There is some problem with memory get a segfault if try to use many connections in parallel. If redirect log to a file e.g. /dev/null it happens much lesser?

Found that the connection->socket get's overwritten by a string "notify_write_data".

Cluster

Need to weit for luanode supporting clusters (forking childs).

Get connection abort

If the connection request arrives to fast (no rampup) I get very soon connection reset errors on client side. Investigate why and imporve if possible, maybe backlog of listener is overrun.

Static configuration

Static configuration should also be possible with this framework. Perhaps a table which then is processed by a function which calls the real functions.

Request Mapping

Map a request based on everything a request holds, like header, parameters, url, ...

Refactoring read request

upon the new possibility of object "connection" refactor the current implementation for reading request (content-length, chunked).

Port everything to new LuaNode

Things has changed and LuaNode is again closer to node.js. Have to overwork the hole xauxi.

  • no creatClient
    • Keepalive is not running any more done
    • Ssl to backend is not running any more done
    • Loadbalancer do not work any more
    • Error in with ssl backends are not catched

Filter Concept

A filter concept based on the 'data' listener. Need request on incoming data and request, response on outgoing data. Filter should be called secure with pcall.

Handle unreachable backends

Need algorithms/interfaces to handle unreachable backends (down/status/headers/...)
Implement a simple handling for it to prove the interface is working (just skip it and try it the next time).

Uniqe Request Id

Unique Request Id should be provided for every log entry (transfer and/or error log)

Transfer Log

Need a transfer log with

date, method, url, duration, duration frontend, duration backend, event, ...
--> should be configurable how it looks like

Refactor xauxi_connection

There is still part of xauxi_connection creation in the main xauxi.c file, should be all in xauxi_connection with clean capsulation.

Keepalive handling to frontend

Define keepalive settings in configuration and handle accordingly -> close the connection if keepalive is over and set the corresponding header.

Debugger Interface

Want to have a debugger interface where we can debug the build configuration from remote client. Design a simple command line interface.
Get inspirations from remdebug but do it in the way of LuaNode.

Simple configuration for http stuff

Instead of listen(function()
http.stream(...)
end)

http.listen(function()
...
)

Think about simplify the configuration, make the standard tasks as simple as possible.

Refactor request to http object

To avoid name clash with other protocols which perhaps do have a "request" object, move request to http object -> http.request.new() as this depends to http.

refactoring read request

upon the new possibility of object "connection" refactor the current implementation for reading request (content-length, chunked).

Session Plugin

Generic Session Store Object. Subscribe a DB driver, which can get/set/ttl yes more or less. In memory driver should be the first driver and the most simple. followed by redis driver. Maybe a MySQL driver too...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.