Fiddler is an excellent tool that I have been using for many years to debug HTTP requests in local applications. However, one of the things that Fiddler can't do easily, out of the box, is allow you to share requests with other team members. Sometimes it is nice to be able to show someone a HTTP request/response for debugging or design related issues. I recently a built an extension to Fiddler that takes advantage of Runscope's request sharing mechanism, to make sharing a request captured by Fiddler a one click affair.
If you want to try out the tool, you can install the latest version using Chocolatey,
cinst runscope.fiddlerextension
If you don't have Chocolatey installed and you don't feel shaving that yak today, you can download a .zip file that has the DLL here. Just copy the DLL into your Fiddler scripts folder. You should find the folder here: c:\program files (x86)\Fiddler2\Scripts. Despite the name of this folder, this plug-in is currently only compatible with Fiddler4, the version for .net 4.0.
How do I use it
Once the extension is successfully installed, you should see a new context menu item,
Connect to your Runscope Account
The first time, you attempt to share a request, you will be prompted with a configuration screen to connect to your Runscope account. If you don't have one then you can sign up for free Runscope account, no credit card required.
Clicking the "Get Key" button will launch a web browser and take you to the Runscope authentication page. Once successfully authenticated with the Runscope website, you will be asked to authorize the FiddlerExtension application. This allows the extension to write requests into your Runscope buckets. Once completed, an API key will be displayed and the list of available buckets will be displayed. Select the bucket where you wish the request to be created. By default, Fiddler will not display the requests being made to the Runscope API. Selecting the "use proxy" checkbox will allow you to see the API request in Fiddler.
If at a later point in time you wish to change these options, you can always get back to this screen using the Tools -> Configure Runscope menu option.
Once the configuration is complete, the Fiddler session is passed to the Runscope API, and added to the Shared message collection in the specified bucket. The publicly shareable URL is returned and the default web browser is launched to display the shared message.
The following URL was created from a Fiddler request created on my PC,
https://www.runscope.com/public/196bfc03-e52c-4bb2-932b-b466da7b363d/7dd3f872-644a-4f0a-ba6b-613ad7472ec5
Show me how it works
The source for this tool is available and is licensed with the Apache 2 OSS license. I will do a follow-up post with more details of the implementation. There are a few pieces of the project that may be interesting. There is a Owin based self-hosted server that handles the OAuth2 redirect request and extracts the api key. I created a WebPack project that encapsulates the semantics of the Runscope API and it also demonstrates how to create a Fiddler plugin.
Image Credit: Hamsters https://flic.kr/p/dA7Vg