GitXplorerGitXplorer
w

Catchy

public
6 stars
3 forks
0 issues

Commits

List of commits on branch master.
Verified
8c300a96da68523fb89a61c1471438ac74b574f5

improve soap support to work through IIS

wwaf committed 5 years ago
Verified
852b3d07e16a275f52a57d71028b8eab533e2401

correct the example in the help output

wwaf committed 5 years ago
Verified
c278c0ecb4e73347bda7a63190be7b0ed3ed6fca

enable C#8 nullable reference types and fix all warnings

wwaf committed 5 years ago
Verified
b2df0a1cd717e49fa8ab1e7c374699199c40af56

upgrade nuget packages and fix breaking changes

wwaf committed 5 years ago
Verified
b6de8f1e34664d261aa0d9bae3b93b91bada79ae

add license

wwaf committed 6 years ago
Verified
7448144b50619aa1142f700906bc3bed67374b12

minor wording changes

wwaf committed 6 years ago

README

The README file for this repository.

Catchy

A caching proxy for local development

Developers often need to integrate with third-party webservices, even when developing locally. These third-party webservices can lead to slower development speed. Catchy helps you speed back up!

  1. Start Catchy from the commandline, providing the hostnames of your third-party webservices and how to cache them.
  2. Cachy will automatically configure itself as your system proxy.
  3. The first time Catchy sees a request that matches a provided hostname, it passes through the request and caches the response.
  4. For all subsequent requests, Catchy returns the cached response.

Catchy comes with a couple of "caching strategies" out of the box:

  • Cache By REST request -- for each unique URL / HTTP Method / request body, cache the corresponding response.
  • Cache By SOAP body -- caches by the SOAP request body (excluding SOAP headers), because SOAP requests can have freqently changing SOAP headers.

You can add your own strategy by implementing an ICacheStrategy.

This application has been tested on Windows 10. It should in theory work on Mac OS and Linux, but has not been tested.

Usage

For example, if you're developing an application that integrates with two REST APIs, worldtimeapi.org and hn.algolia.com, you could configure Catchy like this:

C:\> Catchy --CacheByRestRequest worldtimeapi.org --CacheByRestRequest hn.algolia.com

demo

Installation

For now, you need to download the source and build it using the dotnet command line or Visual Studio 2017. If there's interest, this could be bundled as a dotnet global tool in the future.

Contributing

Catchy is a C# .NET Core application, using the Titanium Web Proxy. I'd love contributors to help out with this! If you're contributing code, please try to include unit tests with your code changes.