Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/pauloanalista/interceptar-webapi
- Owner: pauloanalista
- Created: 2016-12-15T17:08:33.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-08-31T20:15:17.000Z (over 2 years ago)
- Last Synced: 2023-02-28T22:36:27.770Z (almost 2 years ago)
- Language: C#
- Size: 18.6 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
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