angelo 0.1.16 → 0.1.17

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 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