Sha256: 6a8211a9b3b083ef8e64c391c9620c9142877b6bb1eefde61baa49bb84309a63
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
module Middlewares class <%= class_name %> < Soap4r::Middleware::Base setup do self.endpoint = %r(^/<%= model_class_name %>) service = <%= model_class_name %>.new <%= model_interface_name %>::Methods.each do |definitions| opt = definitions.last if opt[:request_style] == :document self.router.add_document_operation(service, *definitions) else self.router.add_rpc_operation(service, *definitions) end end self.mapping_registry = Mappings::EncodedRegistry self.literal_mapping_registry = Mappings::LiteralRegistry end def call(env) begin if env['PATH_INFO'].match(self.class.endpoint) handle(env) else # we can act as both a middleware and an app @app ? @app.call(env) : [404, {"Content-Type" => "text/plain"}, ["404 - Not Found"]] end rescue => e puts e.message xml = Nokogiri::XML(e.message) #xml.search('faultactor, detail, ivars, item').each { |elem| elem.remove } [200, {'Allow' => 'POST', 'Content-Type' => 'text/xml'}, [xml.to_s]] end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
soybean-2.2.2 | lib/soybean/generators/templates/middleware.rb |
soybean-2.2.1 | lib/soybean/generators/templates/middleware.rb |
soybean-2.2.0 | lib/soybean/generators/templates/middleware.rb |