comparison extra/mail_handler/rdm-mailhandler.rb @ 128:07fa8a8b56a8

Update to Redmine trunk rev 4732
author Chris Cannam
date Wed, 19 Jan 2011 15:04:22 +0000
parents 513646585e45
children cbb26bc654de
comparison
equal deleted inserted replaced
119:8661b858af72 128:07fa8a8b56a8
55 require 'getoptlong' 55 require 'getoptlong'
56 require 'rdoc/usage' 56 require 'rdoc/usage'
57 57
58 module Net 58 module Net
59 class HTTPS < HTTP 59 class HTTPS < HTTP
60 def self.post_form(url, params) 60 def self.post_form(url, params, headers)
61 request = Post.new(url.path) 61 request = Post.new(url.path)
62 request.form_data = params 62 request.form_data = params
63 request.basic_auth url.user, url.password if url.user 63 request.basic_auth url.user, url.password if url.user
64 request.initialize_http_header(headers)
64 http = new(url.host, url.port) 65 http = new(url.host, url.port)
65 http.use_ssl = (url.scheme == 'https') 66 http.use_ssl = (url.scheme == 'https')
66 http.start {|h| h.request(request) } 67 http.start {|h| h.request(request) }
67 end 68 end
68 end 69 end
119 end 120 end
120 121
121 def submit(email) 122 def submit(email)
122 uri = url.gsub(%r{/*$}, '') + '/mail_handler' 123 uri = url.gsub(%r{/*$}, '') + '/mail_handler'
123 124
125 headers = { 'User-Agent' => "Redmine mail handler/#{VERSION}" }
126
124 data = { 'key' => key, 'email' => email, 127 data = { 'key' => key, 'email' => email,
125 'allow_override' => allow_override, 128 'allow_override' => allow_override,
126 'unknown_user' => unknown_user, 129 'unknown_user' => unknown_user,
127 'no_permission_check' => no_permission_check} 130 'no_permission_check' => no_permission_check}
128 issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value } 131 issue_attributes.each { |attr, value| data["issue[#{attr}]"] = value }
129 132
130 debug "Posting to #{uri}..." 133 debug "Posting to #{uri}..."
131 response = Net::HTTPS.post_form(URI.parse(uri), data) 134 response = Net::HTTPS.post_form(URI.parse(uri), data, headers)
132 debug "Response received: #{response.code}" 135 debug "Response received: #{response.code}"
133 136
134 case response.code.to_i 137 case response.code.to_i
135 when 403 138 when 403
136 warn "Request was denied by your Redmine server. " + 139 warn "Request was denied by your Redmine server. " +