# File lib/protocols/smtpserver.rb, line 276 276: def process_data 277: unless @state.include?(:rcpt) 278: send_data "503 Operation sequence error\r\n" 279: else 280: succeeded = proc { 281: send_data "354 Send it\r\n" 282: @state << :data 283: @databuffer = [] 284: } 285: failed = proc { 286: send_data "550 Operation failed\r\n" 287: } 288: 289: d = receive_data_command 290: 291: if d.respond_to?(:callback) 292: d.callback &succeeded 293: d.errback &failed 294: else 295: (d ? succeeded : failed).call 296: end 297: end 298: end