Method: WWMD::Page#submit
- Defined in:
- lib/wwmd/page/page.rb
#submit(iform = nil, reg = ) ⇒ Object
replacement for Curl::Easy.http_post
post the form attempting to remove curl supplied headers (Expect, X-Forwarded-For call self.set_data
if passed a regexp, escape values in the form using regexp before submitting if passed nil for the regexp arg, the form will not be escaped default: WWMD::ESCAPE
returns: array [ code, body_data.size ]
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
# File 'lib/wwmd/page/page.rb', line 161 def submit(iform=nil,reg=WWMD::ESCAPE[:default]) ## this is just getting worse and worse if iform.class == "Symbol" reg = iform iform = nil end reg = WWMD::ESCAPE[reg] if reg.class == Symbol self.clear_data ["Expect","X-Forwarded-For","Content-length"].each { |s| self.clear_header(s) } self.headers["Referer"] = self.cur if self.use_referer unless iform unless self.form.empty? sform = self.form.clone else return "no form provided" end else sform = iform.clone # clone the form so that we don't change the original end sform.escape_all!(reg) self.url = sform.action if sform.action if sform.empty? self.http_post('') else self.http_post(self.post_data = sform.to_post) end self.set_data end |