Network Variations

Test different HTTP methods and content types for form submission

What These Tests Cover

Forms can submit via different HTTP methods (POST, GET, PUT, PATCH) and content types (JSON, form-urlencoded, FormData, GraphQL). The SDK's network interception must parse all these formats to extract identity.

1. POST JSON application/json

Standard JSON POST request. Most common modern API format.

// Content-Type: application/json
{
  "email": "json@acmecorp.io",
  "name": "JSON User"
}
Expected: pp event captured from JSON body parsing

2. POST form-urlencoded x-www-form-urlencoded

Traditional form encoding. Used by native HTML forms.

// Content-Type: application/x-www-form-urlencoded
email=urlencoded%40acmecorp.io&name=URLEncoded+User
Expected: pp event captured from URLSearchParams parsing

3. POST FormData multipart/form-data

Multipart form data. Used for file uploads.

// Content-Type: multipart/form-data; boundary=...
// FormData object with file upload simulation
Expected: pp event captured from FormData parsing

4. GET with Query Params GET ?email=...

Form with method="GET". Email in URL query string.

// GET /api/search?email=get@acmecorp.io&name=...
// Email visible in URL
Expected: pp event captured from URL query params

5. PUT Request PUT /api/user

Update user endpoint. Full resource replacement.

// PUT /api/users/123
{
  "email": "put@acmecorp.io",
  "name": "PUT User"
}
Expected: pp event captured from PUT request body

6. PATCH Request PATCH /api/user

Partial update. Only email field in body.

// PATCH /api/users/123
{
  "email": "patch@acmecorp.io"
}
Expected: pp event captured from PATCH request body

7. GraphQL Mutation POST /graphql

GraphQL mutation with email in nested variables object.

// POST /graphql
{
  "query": "mutation { createUser($input: UserInput!) { ... } }",
  "variables": {
    "input": {
      "email": "graphql@acmecorp.io"
    }
  }
}
Expected: pp event captured from nested GraphQL variables
[Ready] Network Tests Loaded