FAQ
Hello all,

I would like to announce chameleon - https://github.com/NickPresta/chameleon

chameleon is a tool for testing and development that allows you to cache
content in a reliable, fast, human-inspectable manner. chameleon supports
recording and replaying requests with the ability to customize how
responses are stored. chameleon has no runtime dependencies and comes pre
built for your platform, as expected.

I would love some feedback about the code itself and thanks for taking a
look!


*Why is chameleon useful?*

    - Proxy rate-limited APIs for local development
    - Create reliable test environments
    - Test services in places you normally couldn't due to firewalling, etc
    (CI servers being common)
    - Improve speed of tests by never leaving your local network
    - Inspect recorded APIs responses for exploratory testing
    - Stub out unimplemented API endpoints during development

*How to use chameleon?*

Using chameleon is really easy. Tell chameleon where to store response data
and what you want to proxy: chameleon -data ./httpbin -url
https://httpbin.org

All requests made to chameleon will be forwarded to httpbin but the
responses will be stored locally for inspection and as a cache. Subsequent
requests to httpbin for the same request will be responded to with cached
data.

*Example using chameleon*

I've included a full example -
https://github.com/NickPresta/chameleon/tree/master/example - which shows
how you would use chameleon in your app (including setup, tests, and all
features of chameleon).

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

  • Dobrosław Żybort at Jan 15, 2015 at 8:13 pm
    Hi,

    Really useful project.

    One question (it's more like if it would be possible):
    Would it be possible to proxy all connections going to internet and not
    only the one directed to localhost:port? So that I could specify which
    domains should be cached and all other domains would be simply relayed
    without altering?

    This would be useful for caching test requests to e.g. Amazon S3. Libraries
    like github.com/mitchellh/goamz/s3 have URL-s string build in and I can't
    edit them. First PUT object request would be recorded and every next
    request to same address with same headers and same payload would replayed
    from cache (if, for same URL, payload or headers differ record new response
    as new cache object so one URL could have many cached responses).

    You could also be interested in checking https://ngrok.com/usage

    Thank you.

    W dniu środa, 14 stycznia 2015 02:56:36 UTC+1 użytkownik Nick Presta
    napisał:
    Hello all,

    I would like to announce chameleon -
    https://github.com/NickPresta/chameleon

    chameleon is a tool for testing and development that allows you to cache
    content in a reliable, fast, human-inspectable manner. chameleon supports
    recording and replaying requests with the ability to customize how
    responses are stored. chameleon has no runtime dependencies and comes pre
    built for your platform, as expected.

    I would love some feedback about the code itself and thanks for taking a
    look!


    *Why is chameleon useful?*

    - Proxy rate-limited APIs for local development
    - Create reliable test environments
    - Test services in places you normally couldn't due to firewalling,
    etc (CI servers being common)
    - Improve speed of tests by never leaving your local network
    - Inspect recorded APIs responses for exploratory testing
    - Stub out unimplemented API endpoints during development

    *How to use chameleon?*

    Using chameleon is really easy. Tell chameleon where to store response
    data and what you want to proxy: chameleon -data ./httpbin -url
    https://httpbin.org

    All requests made to chameleon will be forwarded to httpbin but the
    responses will be stored locally for inspection and as a cache. Subsequent
    requests to httpbin for the same request will be responded to with cached
    data.

    *Example using chameleon*

    I've included a full example -
    https://github.com/NickPresta/chameleon/tree/master/example - which shows
    how you would use chameleon in your app (including setup, tests, and all
    features of chameleon).
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/d/optout.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
categoriesgo
postedJan 14, '15 at 1:56a
activeJan 15, '15 at 8:13p
posts2
users2
websitegolang.org

2 users in discussion

Dobrosław Żybort: 1 post Nick Presta: 1 post

People

Translate

site design / logo © 2022 Grokbase