Giter Site home page Giter Site logo

rubytus's Introduction

Rubytus

Resumable upload protocol implementation in Ruby

Gem Version Build Status Coverage Status Code Climate Dependency Status

Installation

$ gem install rubytus

Usage

$ rubytusd --help
Usage: <server> [options]

Server options:
    -e, --environment NAME           Set the execution environment (default: development)
    -a, --address HOST               Bind to HOST address (default: 0.0.0.0)
    -p, --port PORT                  Use PORT (default: 9000)
    -S, --socket FILE                Bind to unix domain socket

Daemon options:
    -u, --user USER                  Run as specified user
    -c, --config FILE                Config file (default: ./config/<server>.rb)
    -d, --daemonize                  Run daemonized in the background (default: false)
    -l, --log FILE                   Log to file (default: off)
    -s, --stdout                     Log to stdout (default: false)
    -P, --pid FILE                   Pid file (default: off)

SSL options:
        --ssl                        Enables SSL (default: off)
        --ssl-key FILE               Path to private key
        --ssl-cert FILE              Path to certificate
        --ssl-verify                 Enables SSL certificate verification

Common options:
    -C, --console                    Start a console
    -v, --verbose                    Enable verbose logging (default: false)
    -h, --help                       Display help message

TUSD options:
    -f, --data-dir DATA_DIR          Directory to store uploaded and partial files (default: tus_data)
    -b, --base-path BASE_PATH        Url path used for handling uploads (default: /files/)
    -m, --max-size MAX_SIZE          How many bytes may be stored inside DATA_DIR (default: 1073741824)

Contributing

  1. Fork it
  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 new Pull Request

rubytus's People

Contributors

subosito avatar

Stargazers

Alberto Colón Viera avatar  avatar Henrique Breim avatar Jon Beyer avatar Matias Korhonen avatar Dan Knox avatar Clément Joubert avatar Mohamad Abras avatar Joe Pestro avatar Janko Marohnić avatar Sean Miller avatar Santi Bivacqua avatar Konrad Oleksiuk avatar Buts Johan avatar  avatar Angus H. avatar Liu Kun avatar Juanito Fatas avatar Brant Watrous avatar Mark Murphy avatar Keyvan Fatehi avatar Ian Gao avatar Dan Quellhorst avatar Greg Molnar avatar Phillip Reichelt avatar Nikhil Krishna avatar Shireesh Jayashetty avatar James Newton avatar Patricio Mac Adden avatar Joon Lee avatar goz avatar Rohit Trivedi avatar Marc Gayle avatar Huy Nguyen Quang avatar Lalit Shandilya avatar Hemant Kumar avatar  avatar Maximilian Schulz avatar Vsevolod Romashov avatar Ivan Pilyaev avatar Gregory Durelle avatar Alistair Holt avatar John D'Agostino avatar Khang Toh avatar

Watchers

Khang Toh avatar Hamada Takayuki avatar Nihad Abbasov avatar James Cloos avatar Shawn Ng avatar  avatar

rubytus's Issues

Compatibility with tus 1.0

tus 1.0 is just around the corner. I would be pleased to see this implementation being updated to support the next version. Most updates are outside the core so only minimal changes are required to maintain comparability. You can find detailed information or get feedback at the according issue tus/tus-resumable-upload-protocol#57.

Rails integration

Are there any examples or documentation on how this would integrate with a rails application?

Question: Why does Rubytus use Goliath?

First of all, thank you for sharing this with the world, it was very inspirational to dive into the source code.

But I'm curious, why does Rubytus use Goliath instead of a regular synchronous framework? I feel like using EventMachine is awesome when you're doing a lot of IO (e.g. HTTP requests), because then everything is asynchronous. But Rubytus only writes to filesystem, which is very fast. And even if it's not, it's currently still synchronous.

So just out of curiosity I wanted to know why did you decide to use Goliath? Is it because of its ability to terminate the request before the request body is received?

behind proxy feature request

We were trying to run tus-ruby-server behind a reverse proxy via SSL and noticed that rubytus doesn’t have the “behind proxy” feature yet. Would you be able to add this feature considering the importance of SSL?

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.