mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-01-12 22:51:50 +08:00
49 lines
1.3 KiB
Ruby
Executable File
49 lines
1.3 KiB
Ruby
Executable File
#!/usr/bin/ruby
|
|
|
|
input = ""
|
|
ARGV.each do |b|
|
|
input = b
|
|
end
|
|
|
|
if input == ""
|
|
puts "
|
|
This tool parses RestKit logging output and turns it into a curl request so you can see what is going on easier. Simply copy and paste the 'Headers' and 'Sending' lines out of the XCode Console and pass them in to this tool to see the curl request & response.
|
|
This is an easy way to see the output from an RKRequest.
|
|
|
|
USAGE:\n./rkcurl \"2011-01-20 11:40:07.122 DiscussionBoard[25362:40b] Headers: {
|
|
Accept = \"application/json\";
|
|
\"X-User-Access-Token\" = csitBupAGxaNVVX6XSo;
|
|
}
|
|
2011-01-20 11:40:07.123 DiscussionBoard[25362:40b] Sending GET request to URL http://discussionboard.heroku.com/topics/4/posts. HTTP Body:
|
|
\"
|
|
"
|
|
exit 0
|
|
end
|
|
|
|
headersString = input.match(/.*Headers: \{(.*)\}/m)[1]
|
|
headers = []
|
|
|
|
headersString.each_line do |line|
|
|
next if line.strip.size == 0
|
|
headers << line.strip.gsub(";", "").gsub(" = ", ": ")
|
|
end
|
|
|
|
method = input.match(/Sending (.*) request to/m)[1]
|
|
url = input.match(/URL (.*)\. HTTP Body/m)[1]
|
|
|
|
data = nil
|
|
dataMatch = input.match(/HTTP Body: (.*)\n/m)
|
|
data = dataMatch[1] if dataMatch
|
|
|
|
command = "curl -i -X #{method} "
|
|
command << "-d \"#{data.gsub('"', '\"')}\" " if data
|
|
for header in headers
|
|
command << "-H \"#{header.gsub('"', '\"')}\" "
|
|
end
|
|
command << url
|
|
|
|
puts command
|
|
|
|
output = `#{command}`
|
|
|
|
puts output |