Skip to content

Commit

Permalink
Update README.md + add screenshot
Browse files Browse the repository at this point in the history
  • Loading branch information
ricksterhd123 committed Jan 31, 2024
1 parent da60eb9 commit a8beeed
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 21 deletions.
39 changes: 18 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# mruv
mruv = mruby + libuv
**mruv = mruby + libuv**

> mruv is a proof-of-concept for a scriptable web server using mruby. It's designed as single binary toolkit for creating (hopefully fast and secure) dynamic web applications.
## System Requirements
- git
Expand All @@ -16,26 +18,21 @@ TBC...
## TODO
- [x] statically linked mruby + libuv (single binary)
- [x] proof of concept ruby dsl scripting for callbacks to events, similar to ruby rack config.ru
- [x] libuv TCP socket handling
- [x] http request parsing & response generation
- [x] proof of concept testing in postman
- [] improve c handling + research valgrind / ASAT and other dynamic memory testing tools
- [] unit testing
- [] JSON handling library
- [] MIME handling
- [] chunked content + streaming

## Examples
![Return the request body reversed](image.png)

`config.rb`
```rb
##
# mruv socket handler function fizzbuzz example
#
def handler(env)
n = env.chomp.to_i
if n > 0 and n < 100 then
if n % 15 == 0 then
"fizzbuzz"
elsif n % 3 == 0 then
"fizz"
elsif n % 5 == 0 then
"buzz"
else
env
end
else
"Must be number between 1 and 99"
end
def handler(body)
body.reverse
end

```
- [ ] support libuv TCP/IP and maybe some file stuff
Binary file added image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit a8beeed

Please sign in to comment.