rack-delayed 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/README.md +26 -0
- data/lib/rack/delayed.rb +19 -0
- data/lib/rack/delayed/version.rb +5 -0
- data/rack-delayed.gemspec +22 -0
- metadata +76 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: acf2c5ba0a9b97c85db441a20edb444fa9380d8f
|
|
4
|
+
data.tar.gz: cdc3c2b55dc07357b967f045a873bedf570c4faa
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: caab04a34281f75a5f3b3e955ac00bbaf197abdf7504a75d862214dd5c09b644135bca9aa88c3a24cf22264266ba289e74c5c1c1ffde1b576ad983b250715b2e
|
|
7
|
+
data.tar.gz: db6de38fca6ab855c36545be78a6ad857039bb0892691e93d7762cfb82fbeed25564953531d9797c47d56688ad59e93dcece15504ff086739da2da23cfa447f7
|
data/.gitignore
ADDED
data/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Rack::Delayed
|
|
2
|
+
|
|
3
|
+
Simple rack middleware to simulate various network latency when running a server locally
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Add this line to your application's Gemfile:
|
|
8
|
+
|
|
9
|
+
```ruby
|
|
10
|
+
gem 'rack-delayed'
|
|
11
|
+
gem 'rack-delayed', require: 'rack/delayed'
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
And then execute:
|
|
15
|
+
|
|
16
|
+
$ bundle
|
|
17
|
+
|
|
18
|
+
Or install it yourself as:
|
|
19
|
+
|
|
20
|
+
$ gem install rack-delayed
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
Requiring gem: `require 'rack/delayed'`
|
|
25
|
+
|
|
26
|
+
To specify delay time set an environment variable named `DELAY_TIME` (i.e. `DELAY_TIME="3" rackup config.ru`)
|
data/lib/rack/delayed.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require "rack/delayed/version"
|
|
2
|
+
|
|
3
|
+
module Rack
|
|
4
|
+
class Delay
|
|
5
|
+
def initialize(app)
|
|
6
|
+
@app = app
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def call(env)
|
|
10
|
+
begin
|
|
11
|
+
delay_time_str = ENV['DELAY_TIME']
|
|
12
|
+
sleep delay_time_str.to_i if delay_time_str
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
status, headers, response = @app.call(env)
|
|
16
|
+
[status, headers, response]
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'rack/delayed/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
spec.name = "rack-delayed"
|
|
8
|
+
spec.version = Rack::Delayed::VERSION
|
|
9
|
+
spec.authors = ["Matt Shaffer"]
|
|
10
|
+
spec.email = ["mattshaffer11@gmail.com"]
|
|
11
|
+
|
|
12
|
+
spec.summary = %q{Adds an optional delay to rack responses}
|
|
13
|
+
spec.homepage = "https://github.com/mattshaffer11/rack-delayed"
|
|
14
|
+
|
|
15
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
16
|
+
spec.bindir = "exe"
|
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
18
|
+
spec.require_paths = ["lib"]
|
|
19
|
+
|
|
20
|
+
spec.add_development_dependency "bundler", "~> 1.11"
|
|
21
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
|
22
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: rack-delayed
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Matt Shaffer
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2016-10-03 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.11'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.11'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '10.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '10.0'
|
|
41
|
+
description:
|
|
42
|
+
email:
|
|
43
|
+
- mattshaffer11@gmail.com
|
|
44
|
+
executables: []
|
|
45
|
+
extensions: []
|
|
46
|
+
extra_rdoc_files: []
|
|
47
|
+
files:
|
|
48
|
+
- ".gitignore"
|
|
49
|
+
- README.md
|
|
50
|
+
- lib/rack/delayed.rb
|
|
51
|
+
- lib/rack/delayed/version.rb
|
|
52
|
+
- rack-delayed.gemspec
|
|
53
|
+
homepage: https://github.com/mattshaffer11/rack-delayed
|
|
54
|
+
licenses: []
|
|
55
|
+
metadata: {}
|
|
56
|
+
post_install_message:
|
|
57
|
+
rdoc_options: []
|
|
58
|
+
require_paths:
|
|
59
|
+
- lib
|
|
60
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
61
|
+
requirements:
|
|
62
|
+
- - ">="
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: '0'
|
|
65
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '0'
|
|
70
|
+
requirements: []
|
|
71
|
+
rubyforge_project:
|
|
72
|
+
rubygems_version: 2.4.8
|
|
73
|
+
signing_key:
|
|
74
|
+
specification_version: 4
|
|
75
|
+
summary: Adds an optional delay to rack responses
|
|
76
|
+
test_files: []
|