falcon 0.19.0 → 0.19.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16eb6bd0bff8f6177b4f110a0d7fc07da2a1b190a4c0e0aa77bbe86978bf9331
4
- data.tar.gz: b3520e014ed9f70fe6f87ba9d5cefbe69d27b173bc79c1d3cf4cc36e9960c967
3
+ metadata.gz: 30b67911591fedb9e4f99e5d2f33939e2e82c25343b1c436919c9c636e23ed2a
4
+ data.tar.gz: 4d9b1e3d364a42802a57390f871402287f0c068e01c62d8e3fcf9860f916d7d5
5
5
  SHA512:
6
- metadata.gz: 14f8a9402e0f4080d9cb1aa4cd2ea545a62b1b986c1e23306f3a56fc64a3125883f50225abc14029c13370ef628b1c7fecf06f525a5868d70fa34e7224d6cbd4
7
- data.tar.gz: ab8782501460ae14988977be03af1209e6d45a37eadaa42d3f67b3a4196bfd1499fac05efd7360f84ca65d77cad522db83ae6cf7ddedd1a3d43c4bad3161e19d
6
+ metadata.gz: 037cbbcb22569f7a55629195fd445d1e02b3fb01cb13eba670eb076f195233729159380a64cb184a9ba7a92c5a0226d672740e6125e8f30a32b7abec1159bb42
7
+ data.tar.gz: d7a8e45f23708debb74a8a444248b2541b9a0e26847c25d0ed68b24817a503f88bd4fc81613c9960f3d73cbb84e1fa534ecb1091e3f3acb46ed5911f21598b97
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # ![Falcon](logo.svg)
2
2
 
3
- Falcon is a multi-process, multi-fiber rack-compatible HTTP server built on top of [async], [async-io], [async-container] and [async-http]. Each request is run within a lightweight fiber and can block on up-stream requests without stalling the entire server process. Supports HTTP/1 and HTTP/2 natively. [Priority Business Support](#priority-business-support) is available.
3
+ Falcon is a multi-process, multi-fiber rack-compatible HTTP server built on top of [async], [async-io], [async-container] and [async-http]. Each request is executed within a lightweight fiber and can block on up-stream requests without stalling the entire server process. Falcon supports HTTP/1 and HTTP/2 natively.
4
+
5
+ [Priority Business Support](#priority-business-support) is available.
4
6
 
5
7
  [![Build Status](https://secure.travis-ci.org/socketry/falcon.svg)](http://travis-ci.org/socketry/falcon)
6
8
  [![Code Climate](https://codeclimate.com/github/socketry/falcon.svg)](https://codeclimate.com/github/socketry/falcon)
@@ -14,11 +16,11 @@ Falcon is a multi-process, multi-fiber rack-compatible HTTP server built on top
14
16
 
15
17
  ## Motivation
16
18
 
17
- When I initially built [async], I saw an opportunity to build [async-http], which provides both client and server components. After toying with these ideas, I decided to build an actual web server, primarily out of interest to compare and validate performance. Falcon grew out of those experiments, and allowed me to test existing real-world code on top of [async].
19
+ Initially, when I developed [async], I saw an opportunity to implement [async-http]: providing both client and server components. After experimenting with these ideas, I decided to build an actual web server for comparing and validating performance primarily out of interest. Falcon grew out of those experiments and permitted the ability to test existing real-world code on top of [async].
18
20
 
19
21
  Once I had something working, I saw an opportunity to simplify my development, testing and production environments, replacing production (Nginx+Passenger) and development (Puma) with Falcon. Not only does this simplify deployment, it helps minimize environment-specific bugs.
20
22
 
21
- My long term vision for Falcon is to make a web application platform which trivializes server deployment. Ideally, a web application can fully describe all it's components: HTTP servers, databases, periodic jobs, background jobs, remote management, etc. Currently, it is not uncommon for all these facets to be handled independently, in platform specific ways, which can make it difficult both to set up new instances, as well as make changes to underlying infrastructure. I hope Falcon can address some of these issues in a platform agnostic way.
23
+ My long term vision for Falcon is to make a web application platform which trivializes server deployment. Ideally, a web application can fully describe all it's components: HTTP servers, databases, periodic jobs, background jobs, remote management, etc. Currently, it is not uncommon for all these facets to be handled independently in platform specific ways. This can make it difficult to set up new instances as well as make changes to underlying infrastructure. I hope Falcon can address some of these issues in a platform agnostic way.
22
24
 
23
25
  As web development is something I'm passionate about, having a server like Falcon is empowering.
24
26
 
@@ -34,13 +36,13 @@ And then execute:
34
36
 
35
37
  $ bundle
36
38
 
37
- Or install it yourself as:
39
+ Alternatively, install in terminal:
38
40
 
39
41
  $ gem install falcon
40
42
 
41
43
  ## Usage
42
44
 
43
- You can run `falcon serve` directly, and it will load the `config.ru` and start serving on https://localhost:9292.
45
+ You can run `falcon serve` directly. It will load the `config.ru` and start serving on https://localhost:9292.
44
46
 
45
47
  ### Integration with Rails
46
48
 
@@ -54,7 +56,7 @@ Alternatively run `RACK_HANDLER=falcon rails server` to start the server (at lea
54
56
 
55
57
  #### Thread Safety
56
58
 
57
- With older versions of Rails, the `Rack::Lock` middleware can be inserted into your app by Rails. `Rack::Lock` will cause both poor performance and deadlocks due to the highly concurrent nature of `falcon`. Other web frameworks are generally unaffected.
59
+ With older versions of Rails, the `Rack::Lock` middleware can be inserted into your app by Rails. `Rack::Lock`will cause both poor performance and deadlocks due to the highly concurrent nature of `falcon`. Other web frameworks are generally unaffected.
58
60
 
59
61
  ##### Rails 3.x (and older)
60
62
 
@@ -41,7 +41,7 @@ run lambda {|env|
41
41
  rescue
42
42
  puts "Remote end closed connection: #{$!}"
43
43
  ensure
44
- body.finish
44
+ body.close
45
45
  end
46
46
 
47
47
  [200, {'content-type' => 'text/html; charset=utf-8'}, body]
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency("async-io", "~> 1.9")
22
22
  spec.add_dependency("async-http", "~> 0.36.0")
23
- spec.add_dependency("async-container", "~> 0.6.0")
23
+ spec.add_dependency("async-container", "~> 0.8.0")
24
24
 
25
25
  spec.add_dependency("rack", ">= 1.0")
26
26
 
@@ -102,7 +102,7 @@ module Falcon
102
102
 
103
103
  debug_trap = Async::IO::Trap.new(:USR1)
104
104
 
105
- container_class.new(concurrency: @options[:concurrency]) do |task|
105
+ container_class.new(concurrency: @options[:concurrency], name: "Falcon Server") do |task, instance|
106
106
  task.async do
107
107
  debug_trap.install!
108
108
  Async.logger.info "Send `kill -USR1 #{Process.pid}` for detailed status :)"
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Falcon
22
- VERSION = "0.19.0"
22
+ VERSION = "0.19.1"
23
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: falcon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0
4
+ version: 0.19.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.6.0
61
+ version: 0.8.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.6.0
68
+ version: 0.8.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rack
71
71
  requirement: !ruby/object:Gem::Requirement