Mercurial > hg > soundsoftware-site
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. " + |