Skip to main content
ESLint Interlace
Plugin: reliabilityRules

require-network-timeout

Require timeout configuration for network requests. This rule is part of eslint-plugin-reliability and provides LLM-optimized error messages.

Keywords: network, timeout, fetch, http, ESLint rule, reliability, performance, LLM-optimized

Require timeout configuration for network requests. This rule is part of eslint-plugin-reliability and provides LLM-optimized error messages with suggestions.

Quick Summary

AspectDetails
SeverityWarning (reliability)
Auto-Fix💡 Suggests fixes
CategoryReliability
ESLint MCP✅ Optimized for ESLint MCP integration
Best ForApplications making HTTP requests

Rule Details

This rule ensures that all network requests include timeout configuration to prevent hanging connections and improve application reliability.

Why This Matters

IssueImpactSolution
⏱️ Hanging RequestsApp freezes waiting foreverSet explicit timeouts
🔄 Resource LeaksConnections never releasedAbort after timeout
👤 User ExperienceUsers wait indefinitelyFail fast with timeout
📊 MonitoringHard to detect slow endpointsTimeout helps identify

Examples

❌ Incorrect

// fetch without timeout
const response = await fetch('/api/data');

// axios without timeout
const result = await axios.get('/api/users');

// HTTP client without timeout config
const data = await httpClient.request({ url: '/api' });

✅ Correct

fetch(url, { timeout: 5000 })

Configuration Examples

Basic Usage

{
  rules: {
    'reliability/require-network-timeout': 'warn'
  }
}

Custom Timeout Threshold

{
  rules: {
    'reliability/require-network-timeout': ['warn', {
      minTimeout: 3000,
      maxTimeout: 30000
    }]
  }
}

Further Reading