open-index/open-npm huggingface dataset:
npm package: @ogma/platform-express
Description: A plugin for the OgmaInterceptor to properly handle HTTP requests from Express
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-express`

The `ExpressInterceptorParser` parser for the `OgmaInterceptor`. This plugin class parses Express request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-express` or `yarn add @ogma/platform-express`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      http: ExpressParser
    }
  })
)
export class AppModule {}
```
npm package: @ogma/platform-fastify
Description: A plugin for the OgmaInterceptor to properly handle HTTP requests from Fastify
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-fastify`

The `FastifyInterceptorParser` parser for the `OgmaInterceptor`. This plugin class parses Fastify request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-fastify` or `yarn add @ogma/platform-fastify`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      http: FastifyParser
    }
  })
)
export class AppModule {}
```
npm package: @ogma/platform-graphql
Description: A plugin for the OgmaInterceptor to proplery handle GQL requests with an Express server
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-graphql`

The `GraphQLParser` parser for the `OgmaInterceptor`. This plugin class parses GraphQL request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-graphql` or `yarn add @ogma/platform-graphql`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      gql: GraphQLParser
    }
  })
)
export class AppModule {}
```

> Note: Due to the nature of subscriptions and the data available from the base ones, it is not possible at this time to log what subscriptions are made in the Ogma fashion.

Because the interceptor needs access to the request and response objects, when configuring the `GraphqlModule` from Nest, you need to add the `req` and `res` to the GraphQL context. to do this, while configuring the `GraphqlModule`, set the `context` property as such:

```ts
GraphqlModule.forRoot({
  context: ({ req, res }) => ({ req, res })
});
```
npm package: @ogma/platform-graphql-fastify
Description: A plugin for the OgmaInterceptor to proplery handle GQL requests with an Fastify server
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-graphql-fastify`

The `GraphQLFastifyParser` parser for the `OgmaInterceptor`. This plugin class parses GraphQL request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-graphql-fastify` or `yarn add @ogma/platform-graphql-fastify`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      gql: GraphQLFastifyParser
    }
  })
)
export class AppModule {}
```

> Note: Due to the nature of subscriptions and the data available from the base ones, it is not possible at this time to log what subscriptions are made in the Ogma fashion.

Because the interceptor needs access to the request and response objects, when configuring the `GraphqlModule` from Nest, you need to add the `request` and `reply` to the GraphQL context. to do this, while configuring the `GraphqlModule`, set the `context` property as such:

```ts
GraphqlModule.forRoot({
  context: ({ request, reply }) => ({ request, reply })
});
```
npm package: @ogma/platform-grpc
Description: A plugin for the OgmaInterceptor to properly handle microservice requests from grpc protocols
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-grpc`

The `GrpcParser` parser for the `OgmaInterceptor`. This plugin class parses Kafka request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-grpc` or `yarn add @ogma/platform-grpc`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      rpc: GrpcParser
  })
)
export class AppModule {}
```

## Important Notes

Because of how gRPC requests are sent and the data available in them, to get the IP address in the request log, an IP property must be sent in the payload. This is the only way to get the IP address. If an IP property is not sent, the interceptor will use an empty string. [You can find more information here](https://stackoverflow.com/questions/45235080/how-to-know-the-ip-address-of-mqtt-client-in-node-js).
npm package: @ogma/platform-kafka
Description: A plugin for the OgmaInterceptor to properly handle microservice requests from Kafka protocols
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-kafka`

The `KafkaParser` parser for the `OgmaInterceptor`. This plugin class parses Kafka request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-kafka` or `yarn add @ogma/platform-kafka`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      rpc: KafkaParser
  })
)
export class AppModule {}
```

## Important Notes

Because of how Kafka requests are sent and the data available in them, to get the IP address in the request log, an IP property must be sent in the payload. This is the only way to get the IP address. If an IP property is not sent, the interceptor will use an empty string. [You can find more information here](https://stackoverflow.com/questions/45235080/how-to-know-the-ip-address-of-mqtt-client-in-node-js).
npm package: @ogma/platform-mqtt
Description: A plugin for the OgmaInterceptor to properly handle microservice requests from mqtt protocols
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-mqtt`

The `MqttParser` parser for the `OgmaInterceptor`. This plugin class parses MQTT request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-mqtt` or `yarn add @ogma/platform-mqtt`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      rpc: MqttParser
    }
  })
)
export class AppModule {}
```

## Important Notes

Because of how MQTT requests are sent and the data available in them, to get the IP address in the request log, an IP property must be sent in the payload. This is the only way to get the IP address. If an IP property is not sent, the interceptor will use an empty string. [You can find more information here](https://stackoverflow.com/questions/45235080/how-to-know-the-ip-address-of-mqtt-client-in-node-js).
npm package: @ogma/platform-nats
Description: A plugin for the OgmaInterceptor to properly handle microservice requests from nats protocols
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-nats`

The `NatsParser` parser for the `OgmaInterceptor`. This plugin class parses NATS request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-nats` or `yarn add @ogma/platform-nats`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      rpc: NatsParser
    }
  })
)
export class AppModule {}
```

## Important Notes

Because of how NATS requests are sent and the data available in them, to get the IP address in the request log, an IP property must be sent in the payload. This is the only way to get the IP address. If an IP property is not sent, the interceptor will use an empty string. This is for the same reason as in the [@ogma/platform-mqtt](../platform-mqtt) docs.
npm package: @ogma/platform-rabbitmq
Description: A plugin for the OgmaInterceptor to properly handle microservice requests from amqp protocols
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-rabbitmq`

The `RabbitMqParser` parser for the `OgmaInterceptor`. This plugin class parses RabbitMQ request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-rabbitmq` or `yarn add @ogma/platform-rabbitmq`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      rpc: RabbitMqParser
    }
  })
)
export class AppModule {}
```

## Important Notes

Because of how RabbitMQ requests are sent and the data available in them, to get the IP address in the request log, an IP property must be sent in the payload. This is the only way to get the IP address. If an IP property is not sent, the interceptor will use an empty string. This is for the same reason as in the [@ogma/platform-mqtt](../platform-mqtt) docs.
npm package: @ogma/platform-redis
Description: A plugin for the OgmaInterceptor to properly handle microservice requests from redis protocols
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-redis`

The `RedisParser` parser for the `OgmaInterceptor`. This plugin class parses Redis request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-redis` or `yarn add @ogma/platform-redis`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      rpc: RedisParser
    }
  })
)
export class AppModule {}
```

## Important Notes

Because of how Redis requests are sent and the data available in them, to get the IP address in the request log, an IP property must be sent in the payload. This is the only way to get the IP address. If an IP property is not sent, the interceptor will use an empty string. This is for the same reason as in the [@ogma/platform-mqtt](../platform-mqtt) docs.
npm package: @ogma/platform-socket.io
Description: A plugin for the OgmaInterceptor to properly handle websocket requests from socket.io
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-socket.io`

The `SocketIOParser` parser for the `OgmaInterceptor`. This plugin class parses TCP request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-socket.io` or `yarn add @ogma/platform-socket.io`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      ws: SocketIOParser
    }
  })
)
export class AppModule {}
```

### Note

As the Gateway/Websocket context runs in parallel with the HTTP Context, and as the application configuration is not shared between the two, to bind the `OgmaInterceptor` to the GateWay, you **must** use `@UseInterceptor(OgmaInterceptor)` **and** have `OgmaModule.forFeature()` in the `imports` array of the same module.

The method for the `SocketIOParser` is always `socket.io` and the `protocol` is always `WS`. Until a better method at determining these values is found, this will be a static value.
npm package: @ogma/platform-tcp
Description: A plugin for the OgmaInterceptor to properly handle microservice requests from tcp protocols
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-tcp`

The `TcpParser` parser for the `OgmaInterceptor`. This plugin class parses TCP request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-tcp` or `yarn add @ogma/platform-tcp`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      rpc: TcpParser
    }
  })
)
export class AppModule {}
```
npm package: @ogma/platform-ws
Description: A plugin for the OgmaInterceptor to properly handle websocket requests from ws
Author: Jay McDoniel
Latest version: 5.1.0

# `@ogma/platform-ws`

The `WsParser` parser for the `OgmaInterceptor`. This plugin class parses TCP request and response object to be able to successfully log the data about the request. For more information, check out [the @ogma/nestjs-module](../nestjs-module/README.md) documentation.

## Installation

Nothing special, standard `npm i @ogma/platform-ws` or `yarn add @ogma/platform-ws`

## Usage

This plugin is to be used in the `OgmaInterceptorOptions` portion of the `OgmaModule` during `forRoot` or `forRootAsync` registration. It can be used like so:

```ts
@Module(
  OgmaModule.forRoot({
    interceptor: {
      ws: WsParser
    }
  })
)
export class AppModule {}
```

### Note

As the Gateway/Websocket context runs in parallel with the HTTP Context, and as the application configuration is not shared between the two, to bind the `OgmaInterceptor` to the GateWay, you **must** use `@UseInterceptor(OgmaInterceptor)` **and** have `OgmaModule.forFeature()` in the `imports` array of the same module.

The method for the `WsParser` is always `websocket` and the `protocol` is always `WS`. Until a better method at determining these values is found, this will be a static value.