A web debugging proxy is software that intercepts and logs all HTTP and HTTPS traffic including requests, responses and the HTTP headers which contain the cookies and caching information. Betwixt – Web Debugging Proxy Based on Chrome DevTools. Betwixt is a tool that will help in analyzing web traffic outside the browser using familiar Chrome DevTools interface.This will be useful when the user is looking to make a debugging and intercept the web response and analyze network traffic. Time of the request processing and size of.
- Charles Web Debugging Proxy Application
- Web Debugging Proxy Software
- Charles Web Debugging Proxy
- Download Charles Web Debugging Proxy
Charles for iOS
We are excited to announce that Charles Proxy is now available on iOS!
With the iOS version of Charles you can capture and inspect network requests and responses on your iOS device. You can view metadata, headers and bodies in the app, so you can finally debug your app's networking issues without a computer.
Charles for iOS currently supports the following features:
- Capture HTTP and HTTPS network traffic on your device
- SSL Proxying so you can view your SSL / TLS requests in plain text
- View requests and responses in the app, or share each request or a whole session to Charles on your desktop
Running Charles on your iOS device means you no longer need to fiddle with WiFi network proxy settings. It also means that you can capture and measure network traffic that goes over the Mobile / Cellular data network.
Measuring networking performance over Mobile data is especially important for your mobile apps (as that is how a lot of users experience your app), and it can reveal large or slow requests, as well as opportunities to increase perceived performance by parallelising network calls.
We are thrilled to be able to finally bring Charles to the App Store. If you'd like to know a bit more about the history of Charles, and particularly Charles on iOS, I gave a presentation to try! Swift Tokyo in March 2018 that you can watch on YouTube.
We plan to bring more of the features that you know and love from Charles on the desktop to the iOS version over the coming months, so watch this space for more announcements.
We hope you enjoy using Charles on iOS!
-->When published to the cloud, an Azure Static Web Apps site links together many services that work together as if they're the same application. These services include:
- The static web app
- Azure Functions API
- Authentication and authorization services
- Routing and configuration services
These services must communicate with each other, and Azure Static Web Apps handles this integration for you in the cloud.
Running locally, however, these services aren't automatically tied together.
To provide a similar experience as to what you get in Azure, the Azure Static Web Apps CLI provides the following services:
- A local static site server
- A proxy to the front-end framework development server
- A proxy to your API endpoints - available through Azure Functions Core Tools
- A mock authentication and authorization server
- Local routes and configuration settings enforcement
Note
Often sites built with a front-end framework require a proxy configuration setting to correctly handle requests under the api
route. When using the Azure Static Web Apps CLI the proxy location value is /api
, and without the CLI the value is http://localhost:7071/api
.
How it works
The following chart shows how requests are handled locally.
Important
Navigate to http://localhost:4280
to access the application served by the CLI.
Requests made to port
4280
are forwarded to the appropriate server depending on the type of request.Static content requests, such as HTML or CSS, are either handled by the internal CLI static content server, or by the front-end framework server for debugging.
Authentication and authorization requests are handled by an emulator, which provides a fake identity profile to your app.
Functions Core Tools runtime handles requests to the site's API.
Responses from all services are returned to the browser as if they were all a single application.
Prerequisites
- Existing Azure Static Web Apps site: If you don't have one, begin with the vanilla-api starter app.
- Node.js with npm: Run the Node.js LTS version, which includes access to npm.
- Visual Studio Code: Used for debugging the API application, but not required for the CLI.
Note
Charles Web Debugging Proxy Application
In order to run swa
with an API locally, the Azure Functions Core Tools are required.
Get started
Open a terminal to the root folder of your existing Azure Static Web Apps site.
Install the CLI.
npm install -g @azure/static-web-apps-cli
Build your app if required by your application.
Run
npm run build
, or the equivalent command for your project.Change into the output directory for your app. Output folders are often named build or something similar.
Start the CLI.
swa start
Navigate to
http://localhost:4280
to view the app in the browser.
Other ways to start the CLI
Description | Command |
---|---|
Serve a specific folder | swa start ./output-folder |
Use a running framework development server | swa start http://localhost:3000 |
Start a Functions app in a folder | swa start ./output-folder --api ./api |
Use a running Functions app | swa start ./output-folder --api http://localhost:7071 |
Authorization and authentication emulation
The Static Web Apps CLI emulates the security flow implemented in Azure. When a user logs in, you can define a fake identity profile returned to the app.
For instance, when you try to navigate to /.auth/login/github
, a page is returned that allows you to define an identity profile.
Instashare 1 2 0 – drag and drop file transfer. Note
The emulator works with any security provider, not just GitHub.
The emulator provides a page allowing you to provide the following client principal values:
Value | Description |
---|---|
Username | The account name associated with the security provider. This value appears as the userDetails property in the client principal and is autogenerated if you don't provide a value. |
User ID | Value autogenerated by the CLI. |
Roles | A list of role names, where each name is on a new line. |
Once logged in:
You can use the
/.auth/me
endpoint, or a function endpoint to retrieve the user's client principal.Navigating to
/.auth/logout
clears the client principal and logs out the mock user.
Debugging
There are two debugging contexts in a static web app. The first is for the static content site, and the second is for API functions. Local debugging is possible by allowing the Static Web Apps CLI to use development servers for one or both of these contexts.
The following steps show you a common scenario that uses development servers for both debugging contexts.
Start the static site development server. This command is specific to the front-end framework you're using, but often comes in the form of commands like
npm run build
,npm start
, ornpm run dev
.Open the API application folder in Visual Studio Code and start a debugging session.
Pass the addresses for the static server and API server to the
swa start
command by listing them in order.swa start http://localhost: --api=http://localhost:7071
The following screenshots show the terminals for a typical debugging scenario:
The static content site is running via npm run dev
.
The Azure Functions API application is running a debug session in Visual Studio Code.
Web Debugging Proxy Software
The Static Web Apps CLI is launched using both development servers.
Charles Web Debugging Proxy
Now requests that go through port 4280
are routed to either the static content development server, or the API debugging session.
Download Charles Web Debugging Proxy
For more information on different debugging scenarios, with guidance on how to customize ports and server addresses, see the Azure Static Web Apps CLI repository.