CGWebRequestClient
CGWebRequest Client
O CGWebRequest Client é uma ferramenta destinada à criação, ao envio e à validação de requisições. Com ele, é possível configurar métodos HTTP, URLs, parâmetros de query, headers, bodies, tempo de requisição e variáveis reutilizáveis, além de visualizar o código de status, o conteúdo e os headers das respostas.
Abaixo, detalhamos cada uma de suas funcionalidades para guiar a utilização correta da aplicação.
Tela inicial
Ao iniciar, o CGWebRequest exibirá uma janela completa dividida em 3 sessões principais, além do menu superior. O painel mais à esquerda exibe a coleção ativa e permite a criação de novas requisições. O painel superior à direita exibe detalhes da requisição atualmente selecionada, enquanto o painel inferior à direita exibe informações sobre a resposta da requisição atual, se houver.
A largura ou a altura desses painéis pode ser modificada pelo usuário ao parar o mouse na linha que as divide, clicar e arrastar. Isso pode facilitar a visualização em casos onde há muita informação relevante na tela.

Coleção
Nesse painel, ficam exibidas de forma simplificada, todas as requisições criadas pelo usuário em forma de tabela. Em uma das colunas, é exibido o verbo selecionado para cada requisição (que pode ser alterado a qualquer momento) e na outra é exibido o nome da requisição, que pode ser personalizado pelo usuário.
Verbo
Para escolher ou alterar o verbo de uma requisição basta clicar na seta que fica no lado direito da caixa de seleção na coluna verb no painel da coleção. Uma lista com os verbos disponíveis será exibida, então basta selecionar o desejado. Note-se que cada um deles possui uma cor específica, facilitando a visualização e compreensão. Os verbos disponíveis são:
- GET: Azul
- POST: Verde
- PUT: Amarelo
- DELETE: Vermelho
- PATCH: Roxo
- HEAD: Rosa
- OPTIONS: Marrom
- PROPFIND: Bege

Nome
A coluna request da tabela permite a personalização do nome da requisição. Para adicionar um nome ou editá-lo, basta dar dois cliques na linha em questão, o que habilitará o cursor para digitação.

Adicionar
Para adicionar uma nova requisição basta selecionar a última linha da tabela de requisições e personalizá-la com o verbo e o nome desejados. Sempre que o usuário modifica essa última linha, o programa automaticamente cria a próxima linha em branco.
Menu de Contexto
Clicar com o botão direito em alguma requisição irá exibir um menu flutuante com 3 opções:

- Duplicate: Essa opção duplica a requisição selecionada, criando uma igual na última linha da tabela.
- Delete: Essa opção exclui a requisição selecionada.
- Exportar Curl: Essa opção exibe uma janela com a requisição selecionada formatada no padrão cURL. Para mais detalhes veja link.
Requisição
O painel de requisição é onde os detalhes podem ser configurados. O verbo selecionado (pode ser feito no painel de coleção, à esquerda) é exibido junto com sua respectiva cor de referência. Logo ao lado fica a caixa de texto da URL e, mais abaixo, um painel com abas que permitem as mais diversas configurações. Url
A caixa de texto da URL pode ser preenchida com o endereço desejado. Tendo feito isso, caso o usuário visualize outra requisição e retorne, o valor preenchido previamente ficará salvo automaticamente. Ou seja, sempre que uma determinada requisição for selecionada no painel de coleção, a URL dela será exibida no painel de requisição. Botão enviar
Ao lado da barra de URL localiza-se o botão ‘Enviar’, que, como o nome sugere, faz o envio da requisição. Ao clicar nele, o programa irá trabalhar para executar os comandos com base na configuração previamente estabelecida. Para que haja se obtenha sucesso, é necessário configurar todos os campos previamente.

Env
Nessa aba do painel de configuração de requisição é possível configurar uma série de variáveis que podem facilitar a interação com diferentes requisições. É possível visualizar e editar variáveis conforme for desejado. Para tanto, basta utilizar um clique duplo na célula em questão, o que habilita o editor, permitindo a alteração por parte do usuário.
Para criar uma variável, tal qual na tabela de coleção, basta clicar na última linha e digitar o nome e o valor desejado. Sempre que uma nova variável é criada, o programa automaticamente adiciona uma linha em branco no final da tabela.
Toda variável possui um nome um valor, que estão representadas nas colunas Variable e Value. O nome de uma variável pode ser incluído em uma URL para facilitar sua alteração quando várias requisições possuem uma mesma URL. Para incluir a variável dessa forma, basta utilizar o nome dela entre chaves {{}} (chaves duplas):
- Nome: API
- Valor: /https://minhaapi.com/exemplo
- URL: Predefinição:API/login

Query
As queries de uma requisição ficam representadas na aba Query da tabela de configuração de requisição. Quando uma URL possui queries, o programa automaticamente faz a quebra dela, mantendo o texto até o ? na parte superior e o dividindo o restante em linhas de uma tabela, onde é possível visualizá-las em detalhes.
Também é possível inserir queries manualmente, preenchendo o parâmetro e o valor ao utilizar um clique duplo na célula desejada. Da mesma forma que nas outras tabelas, sempre que uma nova linha é criada, o programa automaticamente adiciona uma linha em branco no final da tabela.
Parâmetros e valores
São representados pelas colunas da tabela de queries. Quando estão presentes na URL colada na barra de texto acima, o programa os identifica automaticamente. É possível editá-los após isso.
Além do mais, na última coluna dessa tabela sempre haverá uma checkbox que inicia marcada por padrão. Quando marcada, o programa incluirá a query na requisição, é possível desmarcá-la para que a query em questão seja ignorada. É uma forma prática de alterar a requisição sem ter de refazê-la ou criar uma nova.

