skeleton

Version, currently 0.2.13 versions

github.com/Oblivious-Oblivious/skeleton

A very minimal http server api serving as a platform for incremental middleware

1 stars
0 dependents
License: GPLv3

Nothing has been indexed for 0.2.1 yet. The tag is recorded, its shard.yml has not been read, so the manifest and dependency list below are empty because they are unknown rather than because they are absent.

Installation

# Add this to your shard.yml
dependencies:
  skeleton:
    github: Oblivious-Oblivious/skeleton
    version: ~> 0.2.1

Then run:

shards install

shard.yml

No shard.yml has been indexed for 0.2.1. You can read it on the repository.

Dependencies

Unknown: the shard.yml for this version has not been read yet.

README

This README is the one indexed from the repository at its latest ref, not from the tag for this version.

Skeleton

Built with Crystal Version GPLv3 License

Build Status

A very minimal http server api serving as a platform for incremental middleware.

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      skeleton:
        github: Oblivious-Oblivious/skeleton
  2. Run shards install

Usage

require "skeleton"

# Initialize a server choose what middleware to add
server = Skeleton::Server.new
  .add(Skeleton::CORSHandler.new)
  .add(Skeleton::RouteHandler.new # Create a route handler for defining sinatra-like routes
    .get "/" {                    # Define all basic HTTP method routes with callback blocks
      "Hello World"               # Return a `Renderable` value
    }
  )
  .bind_tcp("127.0.0.1", 8080)    # Bind to an address on a port
  .listen;                        # Blocking listen

### Non blocking version
# spawn { server.listen }
###

Development

Future additions / #TODOs

  • Write proper documentation
  • Refactor the RouteHandler to avoid conditionals and multiple execution paths
  • Try to follow MVC more tightly

Contributing

  1. Fork it (https://github.com/Oblivious-Oblivious/skeleton/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors