or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-6/

{
  "context": "Evaluates whether the redirect-aware client relies on make-fetch-happen's built-in redirect controls to meet the spec. Checks cover follow/manual/error modes, redirect limits, and method normalization across protocol switches without reimplementing redirect logic.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Follow mode",
      "description": "Configures make-fetch-happen with redirect: 'follow' (and optional follow count) to traverse http->https chains, using the library's Response.url/redirected handling instead of manual HTTP requests.",
      "max_score": 30
    },
    {
      "name": "Manual mode",
      "description": "Uses redirect: 'manual' so 302 responses surface without being followed, extracting the Location header from the Response while ensuring no secondary request is issued.",
      "max_score": 20
    },
    {
      "name": "Error mode",
      "description": "Sets redirect: 'error' to reject on 3xx redirects and propagates the make-fetch-happen FetchError details (e.g., code ENOREDIRECT/type 'no-redirect') rather than custom redirect handling.",
      "max_score": 20
    },
    {
      "name": "Redirect limit",
      "description": "Maps the spec's maxRedirects to the follow option so make-fetch-happen enforces hop limits, surfacing EMAXREDIRECT when the chain exceeds the limit instead of custom counters.",
      "max_score": 15
    },
    {
      "name": "Method normalization",
      "description": "Relies on make-fetch-happen's redirect semantics that convert POST 303/301/302 to GET with body dropped on redirected requests, avoiding manual resubmission of the original body.",
      "max_score": 15
    }
  ]
}