def response
backend = @a[0]
handler = @a[1]
url = @p[0].name == 'url' ? @p.shift.value : nil
topics = []
key, consumer_secret, producer_secret = backend.subscriptions.create do |doc,key|
doc.root.attributes['url'] = url if url
while @p.length > 0
topic = @p.shift.value
base = @p.shift
type = base.name
items = base.value.split(',')
t = if topics.include?(topic)
doc.find("/n:subscription/n:topic[@id='#{topic}']").first
else
topics << topic
doc.root.add('topic', :id => topic)
end
items.each do |i|
t.add(type[0..-2], i)
end
end
end
handler.key(key).topics(topics).create unless handler.nil?
[
Riddl::Parameter::Simple.new('key',key),
Riddl::Parameter::Simple.new('producer-secret',producer_secret),
Riddl::Parameter::Simple.new('consumer-secret',consumer_secret)
]
end