Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pauloanalista/interceptar-webapi

Criei uma classe responsável por interceptar a Api, obtendo dados de request e response. Com esses dados é possível sabermos o número de requisições que estamos tendo e até mesmo negar requisições mal intencionadas.
https://github.com/pauloanalista/interceptar-webapi

Last synced: about 1 month ago
JSON representation

Criei uma classe responsável por interceptar a Api, obtendo dados de request e response. Com esses dados é possível sabermos o número de requisições que estamos tendo e até mesmo negar requisições mal intencionadas.

Awesome Lists containing this project

README

        

# Interceptar-WebApi
Criei este projeto com a finalidade de mostrar como podemos fazer para interceptar os dados de uma WebApi feita em C#

# Conheça a classe LogApiHandler
Classe criada com a finalidade de interceptar todas as requisições enviadas para uma WebApi feita em C#.

Para cada solicitação enviada para WebApi, será logado em um banco de dados todos os dados de request e response.

### Vantagens de armazenar os dados
Com os dados armazenados será possível identificar quantas requisições estamos recebendo por minuto. Além de ter a possíbilidade de monitorar essas requisições em um DashBoard, poderemos também negar requisições caso o sistema atinja um certo limite.

# Dados armazenados
Id
Application
Machine
RequestContentBody
RequestContentType
RequestHeaders
RequestIpAddress
RequestMethod
RequestRouteData
RequestRouteTemplate
RequestTimestamp
RequestUri
ResponseContentBody
ResponseContentType
ResponseHeaders
ResponseStatusCode
ResponseTimestamp
User

# Como implementar?
Basicamente crie uma pasta no projeto da sua API chamada Handlers e adicione a classe LogApiHandler.

Agora adicione a classe ao MessageHandlers de sua API, veja o código abaixo:
```sh
private void ConfigureWebApi(HttpConfiguration config)
{
config.MessageHandlers.Add(new LogApiHandler());
}
```

Não esqueça também de setar sua string de conexão com o banco de dados.
```sh




```

# Scripts:
O script para criar a tabela no banco de dados se encontra na pasta Doc do projeto.

OBS:
Lembrando que este projeto não segue nenhum padrão de arquitetura, logo aconselho tirar o armazenamento de dentro da classe e jogar dentro de um repositório.

# VEJA TAMBÉM
## Grupo de Estudo no Telegram
- [Participe gratuitamente do grupo de estudo](https://t.me/blogilovecode)

## Cursos baratos!
- [Meus cursos](https://olha.la/udemy)

## Fique ligado, acesse!
- [Blog ILoveCode](https://ilovecode.com.br)

## Novidades, cupons de descontos e cursos gratuitos
https://olha.la/ilovecode-receber-cupons-novidades