angelo 0.1.16 → 0.1.17

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
  SHA1:
3
- metadata.gz: 3d2f38075ab97096f8975e0ad89df951f4043d21
4
- data.tar.gz: c4c9c531ed3413aac23566e6fe32b1d8fd75ba46
3
+ metadata.gz: db09675f9cb61b43bc8c81ff35d0e4721101f203
4
+ data.tar.gz: 6162e131ed4e32a8e0c8ec604c4213c974334cdb
5
5
  SHA512:
6
- metadata.gz: 02f605f138f53bd33fd55fbb2a45801a53819323efb64f5bddc00b82756877a89674d4349bb3271e13cefda21467270dc603199222ad905a130a5013c96d34e1
7
- data.tar.gz: 4a8a4a2870f407ce24649323ec570a759e7649352a17bd82959c35aa820ec086c9020375e12a3d338752ed7e748251dcd5855328c2b2e4420312b66922581ac7
6
+ metadata.gz: 20ce92bd255cd1246cd105081907804285add19d910ded65d8f8947aee00a2060266f181043a5b65c47d9bc8c8efd89f0de68d44ccfd12ffd05b7c4b6d6023f3
7
+ data.tar.gz: 7a1e56ac2c48d483f17f730a5d796ed51b4984209ad426726a4a556579fb95154c9eb955fb9687e4eeb47c16bca9ec27da16fb9f342b1c2ea3b15af4604b7459
@@ -1,6 +1,11 @@
1
1
  changelog
2
2
  =========
3
3
 
4
+ ### 0.1.17 9 aug 2014
5
+
6
+ * add Base#send_data
7
+ * add ability to pass options to Mustermann instances
8
+
4
9
  ### 0.1.16 8 aug 2014
5
10
 
6
11
  * recursively symhash JSON POST bodies
@@ -240,6 +240,26 @@ module Angelo
240
240
  halt 200, File.read(lp)
241
241
  end
242
242
 
243
+ def send_data data, opts = {}
244
+ # Content-Type
245
+ #
246
+ headers CONTENT_TYPE_HEADER_KEY =>
247
+ (MIME::Types.type_for(File.extname(opts[:filename]))[0].content_type rescue HTML_TYPE)
248
+
249
+ # Content-Disposition
250
+ #
251
+ if opts[:disposition] == :attachment
252
+ headers CONTENT_DISPOSITION_HEADER_KEY =>
253
+ ATTACHMENT_CONTENT_DISPOSITION % opts[:filename]
254
+ end
255
+
256
+ # Content-Length
257
+ #
258
+ headers CONTENT_LENGTH_HEADER_KEY => data.length
259
+
260
+ halt 200, data
261
+ end
262
+
243
263
  def eventsource &block
244
264
  headers SSE_HEADER
245
265
  async :handle_event_source, responder.connection.detach.socket, block
@@ -22,8 +22,8 @@ module Angelo
22
22
  module ClassMethods
23
23
 
24
24
  HTTPABLE.each do |m|
25
- define_method m do |path, &block|
26
- path = ::Mustermann.new path
25
+ define_method m do |path, opts = {}, &block|
26
+ path = ::Mustermann.new path, opts
27
27
  routes[m][path] = Responder.new &block
28
28
  end
29
29
  end
@@ -1,3 +1,3 @@
1
1
  module Angelo
2
- VERSION = '0.1.16'
2
+ VERSION = '0.1.17'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: angelo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenichi Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-08 00:00:00.000000000 Z
11
+ date: 2014-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: reel