postbin 0.1.6 → 0.1.7
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/Gemfile +2 -2
- data/HISTORY.md +11 -0
- data/README.md +82 -31
- data/Rakefile +12 -8
- data/lib/postbin/server.rb +1 -1
- data/lib/postbin/version.rb +1 -1
- data/postbin.gemspec +12 -11
- metadata +118 -68
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c8a93043bdf69fff0f20c62ac798f7cee5b8610c6b8117f19b1e4ba8397315bd
|
4
|
+
data.tar.gz: bf345bc469a36294efc40ef9cb18defd94397ba63793bbe1101d31f2d9bdcc13
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8d52a504d59a19c329adc13454a760422e8ea436a64b5cb2adce727f9c804992c09673027c68c8dd466c6a254460d11ab624e5fed424b7bf31639c5214d7c3f1
|
7
|
+
data.tar.gz: 733b2b3eb71af21f2708beaccadb4c47243251d941b7f89e78ec1fd78e729bb3a409d1ac98e8cb13f30407ea3605bcfedc0cc62c3eed4399e368cb83e1e2407a
|
data/Gemfile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
source
|
2
|
-
gemspec
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
gemspec
|
data/HISTORY.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
# History
|
2
|
+
|
3
|
+
This file contains the overall histroy/changelog of the project.
|
4
|
+
|
5
|
+
## HEAD
|
6
|
+
|
7
|
+
## 0.1.7 (2020-12-18)
|
8
|
+
|
9
|
+
* (#3 - @drnic - Dr Nic Williams) Add `thin` depndency to Gemspec.
|
10
|
+
* Documentation improvments and a some 'house keeping' commits to the repo.
|
11
|
+
|
1
12
|
## 0.1.6 (2012-01-04)
|
2
13
|
|
3
14
|
* Added support for Ruby 1.8.7
|
data/README.md
CHANGED
@@ -1,47 +1,98 @@
|
|
1
|
-
PostBin
|
2
|
-
=======
|
1
|
+
# PostBin
|
3
2
|
|
4
|
-
PostBin, a simple web service for testing
|
3
|
+
PostBin, a simple web service for testing and logging of the receival of WebHooks
|
4
|
+
(HTTP POST requests).
|
5
5
|
|
6
|
-
Quick Start
|
7
|
-
-----------
|
6
|
+
## Quick Start: Stand Alone
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
8
|
+
```shell
|
9
|
+
$ gem install postbin
|
10
|
+
$ postbin
|
11
|
+
== Starting PostBin on http://127.0.0.1:6969
|
12
|
+
== Sinatra/1.3.1 has taken the stage on 6969 for development with backup from Thin
|
13
|
+
>> Thin web server (v1.2.11 codename Bat-Shit Crazy)
|
14
|
+
>> Maximum connections set to 1024
|
15
|
+
>> Listening on 127.0.0.1:6969, CTRL+C to stop
|
16
|
+
```
|
16
17
|
|
17
18
|
When running postbin from the command line, requests are stored in a temporary
|
18
19
|
file database, they will be lost once the server terminates.
|
19
20
|
|
20
|
-
|
21
|
-
|
21
|
+
You can then submit a basic POST request using `curl` as follows:
|
22
|
+
|
23
|
+
```shell
|
24
|
+
curl --header "Content-Type: application/json" \
|
25
|
+
--request POST \
|
26
|
+
--data '{"foo":"bar", "hello":"world", "number": 42}' \
|
27
|
+
http://127.0.0.1:6969/my/fake/path
|
28
|
+
```
|
29
|
+
|
30
|
+
Rar
|
31
|
+
|
32
|
+
## Quick Start: Rack Application
|
22
33
|
|
23
34
|
You can run a more permeant install by running PostBin as a Rack application:
|
24
35
|
|
25
|
-
|
26
|
-
|
36
|
+
```ruby
|
37
|
+
# example config.ru
|
38
|
+
require 'postbin'
|
39
|
+
|
40
|
+
# path of pstore file to use for storage.
|
41
|
+
pstore = File.expand_path(File.join(File.dirname(__FILE__), 'postbin.pstore'))
|
42
|
+
|
43
|
+
# start the server.
|
44
|
+
PostBin::Server.set :pstore_file, pstore
|
45
|
+
run PostBin::Server.new(pstore)
|
46
|
+
```
|
47
|
+
|
48
|
+
## Command Line Options
|
49
|
+
|
50
|
+
```text
|
51
|
+
Usage: postbin [options]
|
52
|
+
|
53
|
+
PostBin options:
|
54
|
+
-v, --version show version number
|
55
|
+
-h, --help show this message
|
56
|
+
|
57
|
+
Rack options:
|
58
|
+
-s, --server SERVER server (webrick, mongrel, thin, etc.)
|
59
|
+
-a, --address HOST listen on HOST address (default: 127.0.0.1)
|
60
|
+
-p, --port PORT use PORT number (default: 6969)
|
61
|
+
```
|
62
|
+
|
63
|
+
---
|
64
|
+
|
65
|
+
## Quick Start: Local Development
|
66
|
+
|
67
|
+
Local development/testing is handled by `rake` tasks for the most part:
|
27
68
|
|
28
|
-
|
29
|
-
|
69
|
+
```shell
|
70
|
+
# list available `rake` task
|
71
|
+
rake -T
|
72
|
+
# build and install gem
|
73
|
+
rake install
|
74
|
+
```
|
30
75
|
|
31
|
-
|
32
|
-
PostBin::Server.set :pstore_file, pstore
|
33
|
-
run PostBin::Server.new(pstore)
|
76
|
+
If you wish to build/test a set of uncommited changes:
|
34
77
|
|
35
|
-
|
36
|
-
|
78
|
+
```shell
|
79
|
+
# build gem
|
80
|
+
gem build postbin.gemspec
|
81
|
+
# install gem (adjust as needed)
|
82
|
+
gem install postbin-<VERSION>.gem
|
83
|
+
```
|
37
84
|
|
38
|
-
|
85
|
+
## Release Instructions
|
39
86
|
|
40
|
-
|
41
|
-
|
42
|
-
|
87
|
+
1. Bump the version number found in `lib/postbin/version.rb`.
|
88
|
+
2. Tag git repo with the same version number.
|
89
|
+
3. Publush `.gem` to https://rubygems.org/:
|
43
90
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
91
|
+
```shell
|
92
|
+
# ensure tests pass first
|
93
|
+
rake test
|
94
|
+
# build a new gem
|
95
|
+
rake build
|
96
|
+
# release the new gem
|
97
|
+
rake release
|
98
|
+
```
|
data/Rakefile
CHANGED
@@ -1,14 +1,18 @@
|
|
1
1
|
require 'rubygems' unless defined?(Gem)
|
2
2
|
require 'rake/testtask'
|
3
|
+
require 'rubygems/tasks'
|
3
4
|
|
4
5
|
# by default run unit tests.
|
5
|
-
task :default => 'test
|
6
|
+
task :default => 'test'
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
task.verbose = true
|
13
|
-
end
|
8
|
+
# unit tests.
|
9
|
+
Rake::TestTask.new(:test) do |task|
|
10
|
+
task.libs << 'test'
|
11
|
+
task.test_files = FileList['test/**/*_test.rb']
|
12
|
+
task.verbose = true
|
14
13
|
end
|
14
|
+
|
15
|
+
# gem build/relase tasks
|
16
|
+
Gem::Tasks.new(
|
17
|
+
build: {gem: true},
|
18
|
+
)
|
data/lib/postbin/server.rb
CHANGED
@@ -12,7 +12,7 @@ module PostBin
|
|
12
12
|
|
13
13
|
# Redirect lost users.
|
14
14
|
get '/?' do; redirect '/postbin/overview'; end
|
15
|
-
get '/postbin/?' do;
|
15
|
+
get '/postbin/?' do; redirect '/postbin/overview'; end
|
16
16
|
|
17
17
|
# Display main overview.
|
18
18
|
get '/postbin/overview' do
|
data/lib/postbin/version.rb
CHANGED
data/postbin.gemspec
CHANGED
@@ -3,30 +3,31 @@ require './lib/postbin/version'
|
|
3
3
|
spec = Gem::Specification.new do |s|
|
4
4
|
s.name = 'postbin'
|
5
5
|
s.version = PostBin::Version
|
6
|
+
s.licenses = 'MIT'
|
6
7
|
s.date = Time.now.strftime('%Y-%m-%d')
|
7
8
|
s.summary = 'PostBin, a simple web service for testing WebHooks (HTTP POST requests).'
|
8
9
|
s.homepage = 'https://github.com/lantins/postbin'
|
9
10
|
s.authors = ['Luke Antins']
|
10
11
|
s.email = ['luke@lividpenguin.com']
|
11
|
-
s.has_rdoc = false
|
12
12
|
|
13
13
|
s.files = %w(Rakefile README.md HISTORY.md Gemfile postbin.gemspec)
|
14
14
|
s.files += Dir.glob('{test/**/*,lib/**/*}')
|
15
15
|
s.require_paths = ['lib']
|
16
16
|
s.executables = ['postbin']
|
17
|
-
s.default_executable = 'postbin'
|
18
17
|
|
19
|
-
s.add_dependency('sinatra')
|
20
|
-
s.add_dependency('multi_json')
|
21
|
-
s.add_dependency('json')
|
22
|
-
s.
|
23
|
-
s.add_development_dependency('
|
24
|
-
s.add_development_dependency('
|
25
|
-
s.add_development_dependency('
|
26
|
-
s.add_development_dependency('
|
18
|
+
s.add_dependency('sinatra', '~> 2.0')
|
19
|
+
s.add_dependency('multi_json', '~> 1.0')
|
20
|
+
s.add_dependency('json', '~> 2.0')
|
21
|
+
s.add_dependency('thin', '~> 1')
|
22
|
+
s.add_development_dependency('rake', '~> 13.0')
|
23
|
+
s.add_development_dependency('yard', '~> 0.9')
|
24
|
+
s.add_development_dependency('minitest', '~> 5.14')
|
25
|
+
s.add_development_dependency('rack-test', '~> 1.1')
|
26
|
+
s.add_development_dependency('bundler', '~> 2.1')
|
27
|
+
s.add_development_dependency('rubygems-tasks', '~> 0.2')
|
27
28
|
|
28
29
|
s.description = <<-EOL
|
29
30
|
A ruby command line/rack application for testing systems that send WebHooks
|
30
31
|
using a HTTP POST request. Requests can be viewed via a simple web interface.
|
31
32
|
EOL
|
32
|
-
end
|
33
|
+
end
|
metadata
CHANGED
@@ -1,106 +1,158 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: postbin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.7
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Luke Antins
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2020-12-18 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: sinatra
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
19
|
+
version: '2.0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: multi_json
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - "~>"
|
31
32
|
- !ruby/object:Gem::Version
|
32
|
-
version: '0'
|
33
|
+
version: '1.0'
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: json
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - "~>"
|
42
46
|
- !ruby/object:Gem::Version
|
43
|
-
version: '0'
|
47
|
+
version: '2.0'
|
44
48
|
type: :runtime
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: thin
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1'
|
47
69
|
- !ruby/object:Gem::Dependency
|
48
70
|
name: rake
|
49
|
-
requirement:
|
50
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
51
72
|
requirements:
|
52
|
-
- -
|
73
|
+
- - "~>"
|
53
74
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
75
|
+
version: '13.0'
|
55
76
|
type: :development
|
56
77
|
prerelease: false
|
57
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '13.0'
|
58
83
|
- !ruby/object:Gem::Dependency
|
59
84
|
name: yard
|
60
|
-
requirement:
|
61
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
62
86
|
requirements:
|
63
|
-
- -
|
87
|
+
- - "~>"
|
64
88
|
- !ruby/object:Gem::Version
|
65
|
-
version: '0'
|
89
|
+
version: '0.9'
|
66
90
|
type: :development
|
67
91
|
prerelease: false
|
68
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.9'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: minitest
|
71
|
-
requirement:
|
72
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
73
100
|
requirements:
|
74
|
-
- -
|
101
|
+
- - "~>"
|
75
102
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
103
|
+
version: '5.14'
|
77
104
|
type: :development
|
78
105
|
prerelease: false
|
79
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '5.14'
|
80
111
|
- !ruby/object:Gem::Dependency
|
81
112
|
name: rack-test
|
82
|
-
requirement:
|
83
|
-
none: false
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
84
114
|
requirements:
|
85
|
-
- -
|
115
|
+
- - "~>"
|
86
116
|
- !ruby/object:Gem::Version
|
87
|
-
version: '
|
117
|
+
version: '1.1'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.1'
|
91
125
|
- !ruby/object:Gem::Dependency
|
92
126
|
name: bundler
|
93
|
-
requirement:
|
94
|
-
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '2.1'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '2.1'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubygems-tasks
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
95
142
|
requirements:
|
96
|
-
- -
|
143
|
+
- - "~>"
|
97
144
|
- !ruby/object:Gem::Version
|
98
|
-
version: '0'
|
145
|
+
version: '0.2'
|
99
146
|
type: :development
|
100
147
|
prerelease: false
|
101
|
-
version_requirements:
|
102
|
-
|
103
|
-
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.2'
|
153
|
+
description: |2
|
154
|
+
A ruby command line/rack application for testing systems that send WebHooks
|
155
|
+
using a HTTP POST request. Requests can be viewed via a simple web interface.
|
104
156
|
email:
|
105
157
|
- luke@lividpenguin.com
|
106
158
|
executables:
|
@@ -108,47 +160,45 @@ executables:
|
|
108
160
|
extensions: []
|
109
161
|
extra_rdoc_files: []
|
110
162
|
files:
|
111
|
-
- Rakefile
|
112
|
-
- README.md
|
113
|
-
- HISTORY.md
|
114
163
|
- Gemfile
|
164
|
+
- HISTORY.md
|
165
|
+
- README.md
|
166
|
+
- Rakefile
|
167
|
+
- bin/postbin
|
168
|
+
- lib/postbin.rb
|
169
|
+
- lib/postbin/post.rb
|
170
|
+
- lib/postbin/server.rb
|
171
|
+
- lib/postbin/server/views/layout.erb
|
172
|
+
- lib/postbin/server/views/overview.erb
|
173
|
+
- lib/postbin/storage.rb
|
174
|
+
- lib/postbin/version.rb
|
115
175
|
- postbin.gemspec
|
116
176
|
- test/post_test.rb
|
117
177
|
- test/server_test.rb
|
118
178
|
- test/storage_test.rb
|
119
179
|
- test/test_helper.rb
|
120
180
|
- test/version_test.rb
|
121
|
-
- lib/postbin/post.rb
|
122
|
-
- lib/postbin/server/views/layout.erb
|
123
|
-
- lib/postbin/server/views/overview.erb
|
124
|
-
- lib/postbin/server.rb
|
125
|
-
- lib/postbin/storage.rb
|
126
|
-
- lib/postbin/version.rb
|
127
|
-
- lib/postbin.rb
|
128
|
-
- bin/postbin
|
129
181
|
homepage: https://github.com/lantins/postbin
|
130
|
-
licenses:
|
131
|
-
|
182
|
+
licenses:
|
183
|
+
- MIT
|
184
|
+
metadata: {}
|
185
|
+
post_install_message:
|
132
186
|
rdoc_options: []
|
133
187
|
require_paths:
|
134
188
|
- lib
|
135
189
|
required_ruby_version: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
190
|
requirements:
|
138
|
-
- -
|
191
|
+
- - ">="
|
139
192
|
- !ruby/object:Gem::Version
|
140
193
|
version: '0'
|
141
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
|
-
none: false
|
143
195
|
requirements:
|
144
|
-
- -
|
196
|
+
- - ">="
|
145
197
|
- !ruby/object:Gem::Version
|
146
198
|
version: '0'
|
147
199
|
requirements: []
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
specification_version: 3
|
200
|
+
rubygems_version: 3.1.4
|
201
|
+
signing_key:
|
202
|
+
specification_version: 4
|
152
203
|
summary: PostBin, a simple web service for testing WebHooks (HTTP POST requests).
|
153
204
|
test_files: []
|
154
|
-
has_rdoc: false
|