> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# httpInterceptor

export const LwTemplate = ({title = "Key questions to get you started", icon = "sparkles", cta = "Powered by Agent Studio", linkHref = "https://lucidworks.com/demo/?utm_source=docs&utm_medium=referral&utm_campaign=docs_cta_ai"}) => {
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoaded(true);
    }, 500);
    return () => clearTimeout(timer);
  }, []);
  return <div className="lw-template-container">
      <Card title={title} icon={icon}>
        {isLoaded && <span dangerouslySetInnerHTML={{
    __html: `<lw-template id="a029c1a9-28be-427e-b0e1-5d918920246a"></lw-template
            >`
  }} />}
        <Link href={linkHref} className="agent-studio-link text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Powered by Lucidworks Agent Studio</Link>
      </Card>
    </div>;
};

[localhost link]: http://localhost:3000/docs/5/app-studio/reference/services/lightning.httpInterceptor

[mintlify link]: https://doc.lucidworks.com/docs/5/app-studio/reference/services/lightning.httpInterceptor

[old doc.lw link]: https://doc.lucidworks.com/app-studio/4.2/1217

<LwTemplate />

## Description

Intercepts all `$http` requests that return with an error. It will then broadcast the event `httpInterceptorError`
which will provide the error object containing the status code, status text and other error information.

### Usage

```js wrap  theme={"dark"}
angular
module('myApp', ['lightning'] )
.* .run(['$rootScope', '$templateCache','$location','$timeout', function ($rootScope, $templateCache, $location,$timeout) {
$rootScope.$on('httpInterceptorError', function(event,error) {
    //File not found is HTML
    if(error.config.headers.Accept == 'text/html'){
        if(error.status == '404'){
            alert('Page Not Found!');
            //Timeout is required to redirect the page after all other events have fired
            $timeout(function(){
                $location.path('search');
            },0)
        }
    }
});
```

## Events

### httpInterceptorError

Broadcast the event `httpInterceptorError` when a `$http` request receives an error,
this will provide the error object containing the status code, status text and other error information.

#### Usage

```js wrap  theme={"dark"}
angular
module('myApp', ['lightning'] )
.* .run(['$rootScope', '$templateCache','$location','$timeout', function ($rootScope, $templateCache, $location,$timeout) {
$rootScope.$on('httpInterceptorError', function(event,error) {
//File not found is HTML
if(error.config.headers.Accept == 'text/html'){
if(error.status == '404'){
alert('Page Not Found!');
//Timeout is required to redirect the page after all other events have fired
$timeout(function(){
$location.path('search');
},0)
}
}
});
```

#### Type:

broadcast

#### Target:

root scope
