There are a variety of ways to get API requests and responses into your Traffic Inspector buckets to view, share, search and alert on.
Global Traffic Gateway (Recommended)
The most common way to collect traffic is the high-performance Global Traffic Gateway. When using the gateway, traffic is automatically routed to the nearest service region to minimize travel time. The gateway network also automatically routes around any service availability issues in specific regions to maximize uptime.
To make a request through the global traffic gateway, use a Gateway URL. You can automatically create Gateway URLs for every API call using these libraries and code samples.
Private APIs with Gateway Agent
If the API calls you'd like to watch are on a private network, traffic can be collected with the on-premises Gateway Agent.
The Runscope API allows you to ingest data from other sources like an API management tool, service or proxy. Requests created via the Messages resource are evaluated as they are added. Requests matching your alert criteria will generate notifications.
Request captures are 'one-way' requests made to an endpoint for logging and inspection, generally for debugging webhooks or client requests before relaying them to an upstream API.
API Test Requests Excluded
Requests made from your Runscope API tests are not stored in the Traffic Inspector. Notifications for test requests can be configured in your test's settings.
The Traffic Inspector works with any HTTP client library in any language or framework by using a Gateway URL in your code. Here are some examples using popular HTTP clients with Gateway URLs in your code.
Languages and Frameworks
- Android (HttpClient, HttpURLConnection, OkHttp)
- C# / .NET (HttpClient, HttpWebRequest, RestSharp)
- Go (net/http)
- Java (Apache HttpClient)
- Objective-C / iOS (NSURLConnection, AFNetworking, RestKit, ASIHTTPRequest)
- PHP (curl, Guzzle, Requests for PHP, Zend_Rest_Client, Zend HTTP Client)
- Python (Requests, urllib2)
- Ruby (HTTParty, Net::HTTP, Typheous, Faraday)
API-specific SDKs and Client Libraries
Because Runscope only requires you to update the URL, using a library isn't strictly necessary. But it can be convenient. Here are some official and community-contributed libraries that make creating Gateway URLs a breeze.
requests-runscope: automatically send your Requests for Python requests through Runscope with this Transport Adapter.
iOS / Objective-C
Runscope-iOS (Hung Truong): A subclass of NSMutableURLRequest that automagically changes your API requests to Runscope requests.
runscope-rb (Chris Warren): Ruby gem to automatically create Gateway URLs for requests using Net::HTTP.
RunscopeMessageHandler (Darrel Miller): Runscope Message Handler for use with System.Net.Http.HttpClient