# CICADA

### File

`src/app/_interceptors/connection.interceptor.ts`

### Description

Intercepts and handles of events from outgoing HTTP request.

### Index

###### Methods

- intercept

### Constructor

`constructor(loggingService: LoggingService)`
Defined in src/app/_interceptors/connection.interceptor.ts:14

Initialization of the connection interceptor.

Parameters :

Name | Type | Optional | Description

loggingService

`LoggingService`

No

`

- A service that provides logging capabilities.

`

### Methods

intercept
`intercept(request: HttpRequest<unknown>, next: HttpHandler)`
Defined in src/app/_interceptors/connection.interceptor.ts:29

Intercepts HTTP requests.

Parameters :

Name | Type | Optional | Description

request

`HttpRequest<unknown>`

No

- An outgoing HTTP request with an optional typed body.

next

`HttpHandler`

No

- The next HTTP handler or the outgoing request dispatcher.

Returns : `Observable<HttpEvent<unknown>>`

The forwarded request.

    import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
    import { Injectable } from '@angular/core';

    // Third party imports
    import { Observable } from 'rxjs';

    // Application imports
    import { LoggingService } from '@app/_services/logging.service';
    import { checkOnlineStatus } from '@app/_helpers';

    /** Intercepts and handles of events from outgoing HTTP request. */
    @Injectable()
    export class ConnectionInterceptor implements HttpInterceptor {
      /**
       * Initialization of the connection interceptor.
       *
       * @param loggingService - A service that provides logging capabilities.
       */
      constructor(private loggingService: LoggingService) {}

      /**
       * Intercepts HTTP requests.
       *
       * @param request - An outgoing HTTP request with an optional typed body.
       * @param next - The next HTTP handler or the outgoing request dispatcher.
       * @returns The forwarded request.
       */
      intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
        checkOnlineStatus().then((online) => {
          if (!online) {
            this.loggingService.sendErrorLevelMessage('No internet connection on device!', this, {
              error: `NetworkError when attempting to fetch resource ${request.url}.`,
            });
            return;
          } else {
            return next.handle(request);
          }
        });
        return next.handle(request);
      }
    }

# result-matching ""

# No results matching ""