Module: Sipatra::HelperMethods
- Included in:
- Base
- Defined in:
- lib/sipatra/helpers.rb
Defined Under Namespace
Classes: ResponseEnvironment
Instance Method Summary
collapse
Instance Method Details
136
137
138
|
# File 'lib/sipatra/helpers.rb', line 136
def (name, value, first = true)
message.(name.to_s, value, first)
end
|
132
133
134
|
# File 'lib/sipatra/helpers.rb', line 132
def (name, value)
message.(name.to_s, value)
end
|
124
125
126
|
# File 'lib/sipatra/helpers.rb', line 124
def
@address_header_wrapper ||= HeadersWrapper::new(self, false, true)
end
|
128
129
130
|
# File 'lib/sipatra/helpers.rb', line 128
def
@address_headers_wrapper ||= HeadersWrapper::new(self, true, true)
end
|
#create_address(addr, options = {}) ⇒ Object
193
194
195
196
197
198
199
200
|
# File 'lib/sipatra/helpers.rb', line 193
def create_address(addr, options = {})
addr = addr.to_s address = sip_factory.createAddress(addr)
address.setExpires(options[:expires]) if options.has_key? :expires
address.setDisplayName(options[:display_name]) if options.has_key? :display_name
address
end
|
#create_uri(value, params = {}) ⇒ Object
202
203
204
205
206
207
208
209
|
# File 'lib/sipatra/helpers.rb', line 202
def create_uri(value, params = {})
uri = sip_factory.createURI(value)
if uri.respond_to? :setLrParam
uri.setLrParam(params.has_key?(:lr) ? params.delete(:lr) : true)
end
params.each { |name, value| uri.setParameter(name.to_s, value.to_s) }
uri
end
|
116
117
118
|
# File 'lib/sipatra/helpers.rb', line 116
def
@header_wrapper ||= HeadersWrapper::new(self)
end
|
140
141
142
|
# File 'lib/sipatra/helpers.rb', line 140
def (name)
!message.(name.to_s).nil?
end
|
120
121
122
|
# File 'lib/sipatra/helpers.rb', line 120
def
@headers_wrapper ||= HeadersWrapper::new(self, true)
end
|
144
145
146
147
148
149
150
151
152
153
154
155
156
|
# File 'lib/sipatra/helpers.rb', line 144
def (, pattern = nil, new_value = nil)
if pattern
pattern = Regexp.new(/^#{pattern}$/) unless pattern.kind_of? Regexp
[] = [].map do |value|
value.gsub(pattern, new_value)
end
else
[] = [].map do |value|
yield value
end
end
end
|
#proxy(*args) ⇒ Object
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'lib/sipatra/helpers.rb', line 102
def proxy(*args)
uri = args.shift
uri, options = nil, uri if uri.kind_of? Hash
options ||= args.shift || {}
if uri.nil?
uri = message.requestURI
else
uri = sip_factory.createURI(uri)
end
proxy = message.proxy
proxy.setRecordRoute(options[:record_route]) if options.has_key? :record_route
proxy.proxyTo(uri)
end
|
#push_route(route) ⇒ Object
211
212
213
|
# File 'lib/sipatra/helpers.rb', line 211
def push_route(route)
message.pushRoute(sip_factory.createAddress(route))
end
|
158
159
160
|
# File 'lib/sipatra/helpers.rb', line 158
def (name)
message.(name.to_s)
end
|
#send_response(status, *args, &block) ⇒ Object
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
# File 'lib/sipatra/helpers.rb', line 177
def send_response(status, *args, &block)
create_args = [convert_status_code(status)]
create_args << args.shift unless args.empty? || args.first.kind_of?(Hash)
response = message.createResponse(*create_args)
unless args.empty?
raise ArgumentError, "last argument should be a Hash" unless args.first.kind_of? Hash
args.first.each_pair do |name, value|
response.(name.to_s, value.to_s)
end
end
unless block.nil?
ResponseEnvironment::new(self, response).instance_eval(&block)
end
response.send
end
|