jpmobile 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/{test/rails/rails_root/vendor/plugins/jpmobile/MIT-LICENSE → MIT-LICENSE} +0 -0
- data/README.rdoc +16 -6
- data/Rakefile +14 -0
- data/VERSION.yml +4 -0
- data/init.rb +3 -0
- data/install.rb +1 -0
- data/jpmobile.gemspec +299 -0
- data/lib/jpmobile.rb +0 -2
- data/lib/jpmobile/emoticon.rb +16 -2
- data/lib/jpmobile/emoticon/z_combine.rb +17 -4
- data/lib/jpmobile/filter.rb +2 -3
- data/lib/jpmobile/mobile/abstract_mobile.rb +6 -0
- data/lib/jpmobile/mobile/docomo.rb +24 -1
- data/lib/jpmobile/mobile/z_ip_addresses_au.rb +3 -2
- data/lib/jpmobile/mobile/z_ip_addresses_docomo.rb +4 -1
- data/lib/jpmobile/request_with_mobile.rb +4 -1
- data/{test/rails/rails_root/vendor/plugins/jpmobile/spec → spec}/spec.opts +0 -0
- data/spec/spec_helper.rb +36 -0
- data/spec/unit/detect_by_email_spec.rb +31 -0
- data/{test/rails/rails_root/vendor/plugins/jpmobile/spec → spec}/unit/detect_by_ua_spec.rb +11 -13
- data/spec/unit/is_carrier_spec.rb +93 -0
- data/spec/unit/spec_helper.rb +5 -0
- data/spec/unit/util_spec.rb +30 -0
- data/spec/unit/valid_ip_spec.rb +60 -0
- data/{test/rails/rails_root/vendor/plugins/jpmobile/tasks → tasks}/jpmobile_tasks.rake +3 -3
- data/test/legacy/autoload_test.rb +2 -1
- data/test/legacy/docomo_test.rb +39 -0
- data/test/legacy/emoticon_functional_test.rb +21 -19
- data/test/legacy/emoticon_test.rb +12 -12
- data/test/legacy/filter_test.rb +10 -8
- data/test/legacy/helper.rb +32 -3
- data/test/legacy/softbank_test.rb +2 -0
- data/test/rails/.gitignore +1 -0
- data/test/rails/overrides/app/controllers/filter_controller.rb +10 -0
- data/test/rails/overrides/spec/controllers/docomo_guid_spec.rb +2 -0
- data/test/rails/overrides/spec/controllers/docomo_spec.rb +2 -0
- data/test/rails/overrides/spec/controllers/emobile_spec.rb +2 -0
- data/test/rails/overrides/spec/controllers/filter_spec.rb +8 -7
- data/test/rails/overrides/spec/controllers/pc_spec.rb +2 -0
- data/test/rails/overrides/spec/controllers/softbank_emulator_spec.rb +2 -0
- data/test/rails/overrides/spec/controllers/template_path_spec.rb +2 -0
- data/test/rails/overrides/spec/controllers/trans_sid_spec.rb +1 -0
- data/test/rails/overrides/spec/helpers/helpers_spec.rb +2 -0
- data/test/rails/overrides/spec/spec_helper.rb +15 -0
- data/test/rails/rails_root/app/controllers/filter_controller.rb +0 -23
- data/test/rails/rails_root/app/controllers/mobile_spec_controller.rb +1 -1
- data/test/rails/rails_root/app/controllers/template_path_controller.rb +3 -0
- data/test/rails/rails_root/app/helpers/application_helper.rb +0 -1
- data/test/rails/rails_root/config/boot.rb +13 -110
- data/test/rails/rails_root/config/environment.rb +4 -41
- data/test/rails/rails_root/config/environments/development.rb +22 -13
- data/test/rails/rails_root/config/environments/production.rb +41 -20
- data/test/rails/rails_root/config/environments/test.rb +35 -28
- data/test/rails/rails_root/config/initializers/backtrace_silencers.rb +2 -2
- data/test/rails/rails_root/config/initializers/inflections.rb +1 -1
- data/test/rails/rails_root/config/initializers/session_store.rb +2 -15
- data/test/rails/rails_root/config/routes.rb +6 -42
- data/test/rails/rails_root/db/schema.rb +24 -7
- data/test/rails/rails_root/db/seeds.rb +2 -2
- data/test/rails/rails_root/spec/helpers/helpers_spec.rb +4 -2
- data/test/rails/rails_root/spec/spec_helper.rb +19 -35
- data/test/rails/rails_root/test/performance/browsing_test.rb +2 -2
- data/test/rails/rails_root/test/test_helper.rb +2 -27
- data/test/rails/rails_root/vendor/plugins/jpmobile/init.rb +1 -1
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile.rb +39 -25
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/docomo_guid.rb +2 -1
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/email.rb +3 -4
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon.rb +24 -8
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/conversion_table.rb +10 -9
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/emoticon/z_combine.rb +17 -4
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/filter.rb +43 -136
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/helpers.rb +5 -18
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_controller.rb +24 -16
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_action_view.rb +42 -85
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/abstract_mobile.rb +25 -2
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/au.rb +28 -3
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/display.rb +29 -26
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/docomo.rb +60 -11
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/softbank.rb +16 -41
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/willcom.rb +1 -10
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/z_ip_addresses_au.rb +3 -2
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/mobile/z_ip_addresses_docomo.rb +4 -1
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/position.rb +4 -3
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/request_with_mobile.rb +14 -13
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/trans_sid.rb +52 -35
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/util.rb +68 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/spec/spec_helper.rb +3 -2
- data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/detect_by_email_spec.rb +21 -27
- data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/is_carrier_spec.rb +56 -84
- data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/spec_helper.rb +1 -2
- data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/util_spec.rb +8 -2
- data/test/rails/rails_root/vendor/plugins/jpmobile/spec/unit/valid_ip_spec.rb +43 -52
- data/test/rails/rails_root/vendor/plugins/jpmobile/tools/disabled_update_display_info_docomo.rb +0 -0
- data/test/rails/rails_root/vendor/plugins/jpmobile/tools/update_ip_addresses_au.rb +0 -0
- data/tools/emoji/genregexp.rb +47 -0
- metadata +348 -253
- data/test/rails/rails_root/README +0 -243
- data/test/rails/rails_root/Rakefile +0 -10
- data/test/rails/rails_root/app/controllers/docomo_guid_controller.rb +0 -13
- data/test/rails/rails_root/app/controllers/trans_sid_controller.rb +0 -28
- data/test/rails/rails_root/app/views/filter/index.html.erb +0 -0
- data/test/rails/rails_root/app/views/hankaku_filter/index.html.erb +0 -0
- data/test/rails/rails_root/app/views/template_path/_partial.html.erb +0 -1
- data/test/rails/rails_root/app/views/template_path/_partial_mobile.html.erb +0 -1
- data/test/rails/rails_root/app/views/template_path/_partial_mobile_docomo.html.erb +0 -1
- data/test/rails/rails_root/app/views/template_path/index.html.erb +0 -1
- data/test/rails/rails_root/app/views/template_path/index_mobile.html.erb +0 -1
- data/test/rails/rails_root/app/views/template_path/index_mobile_docomo.html.erb +0 -1
- data/test/rails/rails_root/app/views/template_path/partial.html.erb +0 -2
- data/test/rails/rails_root/config/database.yml +0 -22
- data/test/rails/rails_root/config/initializers/new_rails_defaults.rb +0 -21
- data/test/rails/rails_root/config/locales/en.yml +0 -5
- data/test/rails/rails_root/db/development.sqlite3 +0 -0
- data/test/rails/rails_root/db/test.sqlite3 +0 -0
- data/test/rails/rails_root/doc/README_FOR_APP +0 -2
- data/test/rails/rails_root/lib/tasks/rspec.rake +0 -165
- data/test/rails/rails_root/log/development.log +0 -38
- data/test/rails/rails_root/log/production.log +0 -0
- data/test/rails/rails_root/log/server.log +0 -0
- data/test/rails/rails_root/log/test.log +0 -451
- data/test/rails/rails_root/public/404.html +0 -30
- data/test/rails/rails_root/public/422.html +0 -30
- data/test/rails/rails_root/public/500.html +0 -30
- data/test/rails/rails_root/public/favicon.ico +0 -0
- data/test/rails/rails_root/public/images/rails.png +0 -0
- data/test/rails/rails_root/public/index.html +0 -275
- data/test/rails/rails_root/public/javascripts/application.js +0 -2
- data/test/rails/rails_root/public/javascripts/controls.js +0 -963
- data/test/rails/rails_root/public/javascripts/dragdrop.js +0 -973
- data/test/rails/rails_root/public/javascripts/effects.js +0 -1128
- data/test/rails/rails_root/public/javascripts/prototype.js +0 -4320
- data/test/rails/rails_root/public/robots.txt +0 -5
- data/test/rails/rails_root/script/about +0 -4
- data/test/rails/rails_root/script/console +0 -3
- data/test/rails/rails_root/script/dbconsole +0 -3
- data/test/rails/rails_root/script/destroy +0 -3
- data/test/rails/rails_root/script/generate +0 -3
- data/test/rails/rails_root/script/performance/benchmarker +0 -3
- data/test/rails/rails_root/script/performance/profiler +0 -3
- data/test/rails/rails_root/script/plugin +0 -3
- data/test/rails/rails_root/script/runner +0 -3
- data/test/rails/rails_root/script/server +0 -3
- data/test/rails/rails_root/spec/controllers/docomo_guid_spec.rb +0 -77
- data/test/rails/rails_root/spec/controllers/docomo_spec.rb +0 -28
- data/test/rails/rails_root/spec/controllers/emobile_spec.rb +0 -35
- data/test/rails/rails_root/spec/controllers/filter_spec.rb +0 -157
- data/test/rails/rails_root/spec/controllers/pc_spec.rb +0 -11
- data/test/rails/rails_root/spec/controllers/softbank_emulator_spec.rb +0 -40
- data/test/rails/rails_root/spec/controllers/template_path_spec.rb +0 -115
- data/test/rails/rails_root/spec/controllers/trans_sid_spec.rb +0 -99
- data/test/rails/rails_root/spec/rcov.opts +0 -2
- data/test/rails/rails_root/spec/rspec.rake +0 -165
- data/test/rails/rails_root/spec/spec.opts +0 -4
- data/test/rails/rails_root/vendor/plugins/jpmobile/CHANGELOG +0 -7
- data/test/rails/rails_root/vendor/plugins/jpmobile/README.rdoc +0 -239
- data/test/rails/rails_root/vendor/plugins/jpmobile/Rakefile +0 -116
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/hook_request.rb +0 -5
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/rack/auth.rb +0 -55
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/rack/combined_logger.rb +0 -54
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/rack/request.rb +0 -7
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/rack/trans_sid.rb +0 -14
- data/test/rails/rails_root/vendor/plugins/jpmobile/lib/jpmobile/version.rb +0 -9
@@ -1,116 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'rake'
|
3
|
-
require 'rake/clean'
|
4
|
-
require 'rake/testtask'
|
5
|
-
require 'rake/packagetask'
|
6
|
-
require 'rake/gempackagetask'
|
7
|
-
require 'rake/rdoctask'
|
8
|
-
require 'rake/contrib/rubyforgepublisher'
|
9
|
-
require 'fileutils'
|
10
|
-
include FileUtils
|
11
|
-
require File.join(File.dirname(__FILE__), 'lib', 'jpmobile', 'version')
|
12
|
-
|
13
|
-
#
|
14
|
-
AUTHOR = "dara"
|
15
|
-
EMAIL = "dara@shidara.net"
|
16
|
-
DESCRIPTION = "A Rails plugin for Japanese mobile-phones"
|
17
|
-
RUBYFORGE_PROJECT = "jpmobile"
|
18
|
-
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
19
|
-
BIN_FILES = %w( )
|
20
|
-
|
21
|
-
NAME = "jpmobile"
|
22
|
-
REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
|
23
|
-
VERS = ENV['VERSION'] || (Jpmobile::VERSION::STRING + (REV ? ".#{REV}" : ""))
|
24
|
-
CLEAN.include ['**/.*.sw?', '*.gem', '.config']
|
25
|
-
RDOC_OPTS = ['--quiet', '--title', "jpmobile documentation",
|
26
|
-
"--opname", "index.html",
|
27
|
-
"--line-numbers",
|
28
|
-
"--main", "README.rdoc",
|
29
|
-
"--inline-source"]
|
30
|
-
|
31
|
-
desc "Packages up jpmobile gem."
|
32
|
-
task :default => [:test, :spec]
|
33
|
-
task :package => [:clean]
|
34
|
-
|
35
|
-
desc 'Default: run unit tests.'
|
36
|
-
task :default => :test
|
37
|
-
|
38
|
-
|
39
|
-
desc 'Generate documentation for the jpmobile plugin.'
|
40
|
-
Rake::RDocTask.new(:rdoc) do |rdoc|
|
41
|
-
rdoc.rdoc_dir = 'doc'
|
42
|
-
rdoc.title = 'Jpmobile'
|
43
|
-
rdoc.options << '--line-numbers' << '--inline-source' << '-c UTF-8'
|
44
|
-
rdoc.rdoc_files.include('README.rdoc')
|
45
|
-
rdoc.rdoc_files.include('CHANGELOG')
|
46
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
47
|
-
end
|
48
|
-
|
49
|
-
spec =
|
50
|
-
Gem::Specification.new do |s|
|
51
|
-
s.name = NAME
|
52
|
-
s.version = VERS
|
53
|
-
s.platform = Gem::Platform::RUBY
|
54
|
-
s.has_rdoc = true
|
55
|
-
s.extra_rdoc_files = ["README.rdoc", "CHANGELOG"]
|
56
|
-
s.rdoc_options += RDOC_OPTS + ['--exclude', '^(examples|extras)/']
|
57
|
-
s.summary = DESCRIPTION
|
58
|
-
s.description = DESCRIPTION
|
59
|
-
s.author = AUTHOR
|
60
|
-
s.email = EMAIL
|
61
|
-
s.homepage = HOMEPATH
|
62
|
-
s.executables = BIN_FILES
|
63
|
-
s.rubyforge_project = RUBYFORGE_PROJECT
|
64
|
-
s.bindir = "bin"
|
65
|
-
s.require_path = "lib"
|
66
|
-
|
67
|
-
s.add_runtime_dependency('actionpack', '>=2.3.2')
|
68
|
-
s.add_development_dependency('rspec', '>=1.1.12')
|
69
|
-
s.add_development_dependency('rspec-rails', '>=1.1.12')
|
70
|
-
s.add_development_dependency('rspec-fixture', '>=0.0.2')
|
71
|
-
|
72
|
-
s.files = %w(README.rdoc CHANGELOG Rakefile) +
|
73
|
-
Dir.glob("{bin,doc,test,lib,templates,generator,extras,website,script}/**/*") +
|
74
|
-
Dir.glob("ext/**/*.{h,c,rb}") +
|
75
|
-
Dir.glob("examples/**/*.rb") +
|
76
|
-
Dir.glob("tools/*.rb")
|
77
|
-
|
78
|
-
# s.extensions = FileList["ext/**/extconf.rb"].to_a
|
79
|
-
end
|
80
|
-
|
81
|
-
Rake::GemPackageTask.new(spec) do |p|
|
82
|
-
p.need_tar = true
|
83
|
-
p.gem_spec = spec
|
84
|
-
end
|
85
|
-
|
86
|
-
task :install do
|
87
|
-
name = "#{NAME}-#{VERS}.gem"
|
88
|
-
sh %{rake package}
|
89
|
-
sh %{sudo gem install pkg/#{name}}
|
90
|
-
end
|
91
|
-
|
92
|
-
task :uninstall => [:clean] do
|
93
|
-
sh %{sudo gem uninstall #{NAME}}
|
94
|
-
end
|
95
|
-
|
96
|
-
desc "Publish the API documentation"
|
97
|
-
task :pdoc => [:rdoc] do
|
98
|
-
sh "rsync -azv --delete doc/ dara@rubyforge.org:/var/www/gforge-projects/jpmobile/rdoc/"
|
99
|
-
end
|
100
|
-
|
101
|
-
desc "Update misc tables"
|
102
|
-
task :update do
|
103
|
-
Dir.glob("tools/update_*.rb").each do |path|
|
104
|
-
ruby path
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
desc "Release helper"
|
109
|
-
task :rel => [:gem] do
|
110
|
-
puts "-"*40
|
111
|
-
puts "rubyforge add_release #{NAME} #{NAME} #{VERS} pkg/#{NAME}-#{VERS}.gem"
|
112
|
-
puts "git tag #{VERS}"
|
113
|
-
end
|
114
|
-
|
115
|
-
task :test => ['test:legacy', 'spec:unit', 'test:rails']
|
116
|
-
load 'tasks/jpmobile_tasks.rake'
|
@@ -1,55 +0,0 @@
|
|
1
|
-
module Jpmobile
|
2
|
-
module Rack
|
3
|
-
# in your_app.ru
|
4
|
-
#
|
5
|
-
# check ip
|
6
|
-
# require 'jpmobile/rack'
|
7
|
-
# use Jpmobile::Rack::Auth::Docomo
|
8
|
-
|
9
|
-
# (but allow localhost), {
|
10
|
-
# :ident => %w( xxxxxx ),
|
11
|
-
# :check_ip => true,
|
12
|
-
# :allow_ip => %w( 127.0.0.1 )
|
13
|
-
# } # you can use block
|
14
|
-
|
15
|
-
# req is Jpmobile::Rack::Request's subclass instance.
|
16
|
-
# require 'jpmobile/rack'
|
17
|
-
# use Jpmobile::Rack::Auth {|req|
|
18
|
-
# Your::Model::AuSubno.count(:subno => req.ident) != 0
|
19
|
-
# }
|
20
|
-
class Auth
|
21
|
-
FORBIDDEN = [403, {'Content-Type' => 'text/plain' }, 'Forbidden' ]
|
22
|
-
|
23
|
-
def initialize(app, hash=nil, &block)
|
24
|
-
@app = app
|
25
|
-
if hash
|
26
|
-
@allow_ip = hash[:allow_ip]
|
27
|
-
end
|
28
|
-
@cond = block
|
29
|
-
end
|
30
|
-
|
31
|
-
def career
|
32
|
-
end
|
33
|
-
|
34
|
-
def call(env)
|
35
|
-
request = Request.new(env)
|
36
|
-
|
37
|
-
if request.mobile? and request.valid_ip?
|
38
|
-
@app.call(env)
|
39
|
-
else
|
40
|
-
FORBIDDEN
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
::Jpmobile::Mobile.constants.each do |career|
|
45
|
-
klass = Class.new(self)
|
46
|
-
klass.class_eval do
|
47
|
-
define_method :career do
|
48
|
-
::Jpmobile::Mobile.const_get(career)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
const_set(career, klass)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
module Jpmobile
|
2
|
-
module Rack
|
3
|
-
# Rack::CommonLogger show too few infomation to debugging mobile web application.
|
4
|
-
# So you can Rack::Jpmobile::CombinedLogger as alternate.
|
5
|
-
# SYNOPSIS
|
6
|
-
# in your_app.up
|
7
|
-
# require 'jpmobile/rack'
|
8
|
-
# class Rack::CommonLogger
|
9
|
-
# include Jpmobile::Rack::CombinedLogger
|
10
|
-
# end
|
11
|
-
#
|
12
|
-
# use Rack::CommonLogger, STDERR # you need not write this when you use rackup on development.
|
13
|
-
#
|
14
|
-
module CombinedLogger
|
15
|
-
|
16
|
-
# XXX: It's evil way for replacing Rack::CommonLogger#each.
|
17
|
-
def self.included klass
|
18
|
-
klass.class_eval do
|
19
|
-
alias orig_each each
|
20
|
-
remove_method :each
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def each
|
25
|
-
length = 0
|
26
|
-
@body.each { |part|
|
27
|
-
length += part.size
|
28
|
-
yield part
|
29
|
-
}
|
30
|
-
|
31
|
-
@now = Time.now
|
32
|
-
|
33
|
-
# Combined Log Format: http://httpd.apache.org/docs/1.3/logs.html#combined
|
34
|
-
# 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"
|
35
|
-
# "%h %l %u [%t] \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
|
36
|
-
@logger << %{%s - %s [%s] "%s %s%s %s" %d %s %s "%s" %0.4f\n} %
|
37
|
-
[
|
38
|
-
@env['HTTP_X_FORWARDED_FOR'] || @env["REMOTE_ADDR"] || "-",
|
39
|
-
@env["REMOTE_USER"] || @env["HTTP_X_DCMGUID"] || @env["HTTP_X_UP_SUBNO"] || @env["HTTP_X_JPHONE_UID"] || @env["HTTP_X_EM_UID"] || "-",
|
40
|
-
@now.strftime("%d/%b/%Y %H:%M:%S"),
|
41
|
-
@env["REQUEST_METHOD"],
|
42
|
-
@env["PATH_INFO"],
|
43
|
-
@env["QUERY_STRING"].empty? ? "" : "?"+@env["QUERY_STRING"],
|
44
|
-
@env["HTTP_VERSION"],
|
45
|
-
@status.to_s[0..3],
|
46
|
-
(length.zero? ? "-" : length.to_s),
|
47
|
-
@env["HTTP_REFERER"] ? %{"#{@env['Referer']}"} : '-',
|
48
|
-
@env["HTTP_USER_AGENT"],
|
49
|
-
@now - @time
|
50
|
-
]
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|