|
1 | | -<h1 align="center"> |
2 | | - <img alt="Dev Proxy" src="./media/icon.png" width="125" /> |
3 | | - <br>Dev Proxy<br> |
| 1 | +<h1 align="center"> |
| 2 | + <img alt="Dev Proxy" src="./media/icon.png" width="125" /> |
| 3 | + <p>Dev Proxy</p> |
4 | 4 | </h1> |
5 | 5 |
|
6 | 6 | <h4 align="center"> |
7 | 7 | Test the untestable |
8 | 8 | </h4> |
9 | | - |
10 | | -<p align="center"> |
11 | | - <a href="https://aka.ms/devproxy/download"> |
12 | | - <img alt="Download Now" src="https://img.shields.io/badge/download-now-green?style=for-the-badge"> |
13 | | - </a> |
14 | | -</p> |
15 | | -<p align="center"> |
16 | | - <a href="https://aka.ms/devproxy/discord"> |
17 | | - <img alt="Discord" src="https://img.shields.io/badge/discord-chat-green?style=for-the-badge&logo=discord"> |
18 | | - </a> |
19 | | -</p> |
20 | | - |
21 | | -<p align="center"> |
22 | | - <a href="#get-started">Get started</a> | |
23 | | - <a href="https://aka.ms/devproxy/docs">Documentation</a> |
24 | | -</p> |
25 | 9 |
|
26 | 10 | <p align="center"> |
27 | | - <a href="#example">Example</a> | |
28 | | - <a href="#features">Features</a> | |
29 | | - <a href="#trademarks">Trademarks</a> |
| 11 | + <a href="https://bsky.app/profile/devproxy.bsky.social"> |
| 12 | + <img alt="Bluesky" src="https://img.shields.io/badge/bluesky-%40devproxy.bsky.social%E2%80%AC-blue?style=social&logo=bluesky&link=https%3A%2F%2Fbsky.app%2Fprofile%2Fdevproxy.bsky.social" /> |
| 13 | + </a> |
| 14 | + <br /> |
| 15 | + <a href="https://youtube.com/@devproxy"> |
| 16 | + <img alt="YouTube" src="https://img.shields.io/badge/youTube-%40devproxy%E2%80%AC-red?style=social&logo=youtube&link=https%3A%2F%2Fyoutube.com%2F%40devproxy" /> |
| 17 | + </a> |
| 18 | + <br /> |
| 19 | + <a href="https://aka.ms/devproxy"> |
| 20 | + Documentation |
| 21 | + </a> |
30 | 22 | </p> |
31 | 23 |
|
32 | | -<p align="center"> |
33 | | - <details class="details-reset border rounded-2" open=""> |
34 | | - <summary class="px-3 py-2"> |
35 | | - <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-camera-video"> |
36 | | - <path d="M16 3.75v8.5a.75.75 0 0 1-1.136.643L11 10.575v.675A1.75 1.75 0 0 1 9.25 13h-7.5A1.75 1.75 0 0 1 0 11.25v-6.5C0 3.784.784 3 1.75 3h7.5c.966 0 1.75.784 1.75 1.75v.675l3.864-2.318A.75.75 0 0 1 16 3.75Zm-6.5 1a.25.25 0 0 0-.25-.25h-7.5a.25.25 0 0 0-.25.25v6.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-6.5ZM11 8.825l3.5 2.1v-5.85l-3.5 2.1Z"></path> |
37 | | -</svg> |
38 | | - <span aria-label="" class="m-1">📽️ Simulate throttling using Dev Proxy</span> |
39 | | - <span class="dropdown-caret"></span> |
40 | | - </summary> |
41 | | - |
42 | | - <video src="https://user-images.githubusercontent.com/11563347/249426565-412849a4-15bb-446d-acd8-40b9d64ef8bc.mp4" data-canonical-src="https://user-images.githubusercontent.com/11563347/249426565-412849a4-15bb-446d-acd8-40b9d64ef8bc.mp4" controls="controls" muted="muted" class="d-block rounded-bottom-2 border-top width-fit" style="max-height:640px; min-height: 200px"> |
| 24 | +# What is Dev Proxy? |
43 | 25 |
|
44 | | - </video> |
45 | | -</details> |
46 | | -</p> |
| 26 | +Dev Proxy is an API simulator that helps you effortlessly test your app beyond the happy path. Dev Proxy is a command-line tool that works on any platform. Because it intercepts network requests, it works with any type of app and tech stack. |
47 | 27 |
|
48 | | -Dev Proxy is a command line tool for simulating APIs for testing apps. |
| 28 | +Dev Proxy is **open source** and **free to use**. |
49 | 29 |
|
50 | | -It aims to provide a better way to test applications. |
| 30 | + |
51 | 31 |
|
52 | | -Use the proxy to: |
| 32 | +You test your app to make sure it works as intended. But what if the APIs you use fail? Will your app lose your customer's data? How do you test for this? Simulating API failures is hard. You end up writing code that you won't be shipping or worse: not testing at all. That's why we built Dev Proxy, to simulate API errors so that you can easily test your app without changing your code. |
53 | 33 |
|
54 | | -- simulate errors |
55 | | -- simulate API behaviours |
56 | | -- mock responses |
| 34 | +With Dev Proxy you: |
57 | 35 |
|
58 | | -Identify and fix issues in your code before they reach production. |
| 36 | +- **See how your app responds to API errors**, without changing your app’s code, so that you can **build more robust apps and don't lose customers' data**. |
| 37 | +- **Verify how your app handles API rate limits**, so that you can avoid getting throttled and **improve the user experience for your customers**. |
| 38 | +- **See how your app handles slow APIs**, so that you can implement the necessary affordances, and **make your app more user-friendly**. |
| 39 | +- **Quickly stand-up mock APIs** without writing a line of code, so that you can **focus on building your app instead of writing code you won't be shipping**. |
| 40 | +- Improve your app with contextual guidance on how you use APIs, to **make your app even better**. |
59 | 41 |
|
60 | 42 | ## Get started |
61 | 43 |
|
62 | | -Begin with our [tutorial](https://learn.microsoft.com/microsoft-cloud/dev/dev-proxy/get-started/). It will guide you through the installation process and running the proxy for the first time. |
63 | | - |
64 | | -## Example |
65 | | - |
66 | | -Fail requests (with a 50% chance) and respond with `429 Too Many Requests` or `503 Service Unavailable`: |
67 | | - |
68 | | -```text |
69 | | -devproxy --failure-rate 50 --no-mocks --allowed-errors 429 503 |
70 | | -``` |
71 | | - |
72 | | -## Features |
| 44 | +To get started with Dev Proxy, follow our [tutorial](https://aka.ms/devproxy/setup) to install and run Dev Proxy for the first time. |
73 | 45 |
|
74 | | -- run on any OS |
75 | | - - Windows |
76 | | - - macOS |
77 | | - - Linux |
78 | | -- intercept requests from Microsoft Graph and other APIs |
79 | | -- simulate errors |
80 | | -- simulate throttling |
81 | | -- simulate rate-limiting |
82 | | -- mock responses |
83 | | -- mock error responses |
84 | | -- define wildcard paths to serve mocked responses |
85 | | -- mock responses of different types (JSON, binary, etc.) |
86 | | -- `$select` guidance to improve performance |
87 | | -- caching guidance to improve performance |
88 | | -- OData paging guidance |
89 | | -- client-request-id header guidance |
90 | | -- non-production beta endpoint guidance for Microsoft Graph |
91 | | -- configure proxy to your needs, by setting: |
92 | | - - failure rate |
93 | | - - port |
94 | | - - whether to use mock responses or not |
95 | | - - URLs to intercept traffic |
96 | | -- record proxy activity |
97 | | -- get proxy activity summary report |
98 | | -- detect minimal Microsoft Graph API permissions |
99 | | -- check for excessive Microsoft Graph API permissions |
| 46 | +[](https://www.youtube.com/watch?v=HVTJlGSxhcw) |
100 | 47 |
|
101 | | -### .NET Foundation |
| 48 | +## .NET Foundation |
102 | 49 |
|
103 | 50 | This project is supported by the [.NET Foundation](https://dotnetfoundation.org). |
0 commit comments