Git Product home page Git Product logo

restler's People

Contributors

tiagohm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

restler's Issues

Proxy

  • Ver como será feito. Basear-se no Insomnia ou Postman?

Formato Restler (.restler)

  • Será usado para exportar e importar apenas dentro do aplicativo;
  • Permite criptografia;
  • O formato será:
{
    "encrypted": true,
    "data": "json object or encrypted base64"
}
  • O campo data terá o seguinte formato:
{
  "folders": [],
  "requests": [],
  "cookies": [],
}

Sincronização com GitHub/GitLab

  • A sincronização necessita dos seguintes dados: ws_sync_token, ws_sync_username, ws_sync_repo, ws_sync_branch, ws_sync_repo_type, ws_sync_password, ws_sync_enabled;
  • Pegar todos as pastas, chamadas, cookies, ambientes, variáveis, workspaces, etc e exportar como Restler (com opção de criptografar);
  • Na sincronização (upload), comitar em um arquivo no repositório a cada salvamento (criação, edição e remoção);
  • Na sincronização (download), puxar o arquivo, comparar se a entidade foi criada ou removida;
  • O tempo da sincronização automática é de 30s;
  • Se uma aba estiver atrelada a uma chamada, atualizar os dados dela, quando ocorrer a sincronização;
  • A sincronização é por workspace;
    • Cada workspace pode desabilitar a sincronização;
    • Cada workspace terá um arquivo chamada uid.json ou restler.json no repositório;
    • Sempre que trocar de workspace, realizar a sincronização;
    • Ao excluir um workspace, excluir o arquivo no repositório;
    • Um botão de sync (para sincronização manual) ficará ao lado do dropdown de workspaces;
  • Não sei como resolver os conflitos!

Presets

  • Predefinições de Query, Header e Auth que serão reutilizáveis entre várias requisições;

NoSuchMethodError: The method '<' was called on null

NoSuchMethodError: NoSuchMethodError: The method '<' was called on null.
Receiver: null
Tried calling: <(3)
  File "import_export.dart", line 149, in InsomniaImporter.importFromMap
  File "import_export.dart", line 137, in InsomniaImporter.importFromText
  File "collection_bloc.dart", line 186, in CollectionBloc._importCollectionFromFile
  File "collection_bloc.dart", line 158, in CollectionBloc._mapCollectionImportedToState
  File "collection_bloc.dart", line 51, in CollectionBloc.mapEventToState

Agrupar a lista de histórico

  • Agrupar por:
    • Por data (mais recente, mais antiga);
    • Por método HTTP;
    • Por domain (order crescente, ordem decrescente).
  • Permitir remover todos os itens de um determinado agrupamento;

Suporte para GraphQL

Restler deveria oferecer um melhor suporte para queries de GraphQL, adicionando características tais como um campo de texto para query variables e suporte para formatar el body no formato de GraphQL.

Variáveis de Ambiente

Plano de Implementação das Variáveis de Ambiente

  • Cada workspace tem um ou mais ambientes (e apenas um será selecionado);
  • Abaixo do dropdown de workspace, terá outro dropdown listando os ambientes disponíveis e o ambiente selecionado
  • Caso nenhum ambiente esteja selecionado exibir label "No environment"
  • Um tela listará todos os ambientes do workspace atual, contendo:
    • Filtro de busca
    • Limpar tudo
    • Excluir um ambiente
      • Excluir também todas as suas variáveis
    • Editar nome
    • Duplicar
      • Duplicar também todas as suas variáveis
    • Mover ou copiar para outro workspace (copiar também todas as suas variáveis)
  • Cada workspace tem um ambiente global
  • Uma variável pertence ao ambiente global se (var_environment = null)
  • Excluir um workspace, exclui seus ambientes (e suas variaveis)
  • Um tela listará todos as variáveis de um ambiente, contendo:
    • Filtro de busca
    • Limpar tudo
    • Excluir uma variável
    • Editar nome e valor
    • Duplicar
  • Adicionar info de como utilizar variáveis, onde a lista é vazia
  • Resolver as variáveis ao enviar a requisição:
    • Body Text
    • Body Multipart (name, value)
    • Body Form (name, value)
    • Query (name, value)
    • Header (name, value)
    • Basic Auth (username, password)
    • Digest Auth (username, password)
    • Bearer Auth (token, prefix)
    • Hawk Auth (id, key, ext)
    • URL
  • Exportar e importar do Insomnia
  • Exportar e importar do Postman
  • Exportar e importar do Restler
  • Ver um modo de autocompletar com as variáveis de ambiente (exibir nome e valor)
  • Dar suporte a variáveis dinâmicas do Postman
  • Corrigir enviar scheme usando auto e variável
  • Secret Variable. (Exibir como password na edição e na visualização)
  • Habilitar variáveis nas configurações da requisição (#40)
  • Permitir chamar variáveis em outras variáveis (de forma recursiva)

Ideas & Likely New Features

  • (1) "Import collections from Postman";
  • (2) "Import collections from Dropbox or git";
  • (3) "Save collection to Google Drive";
  • (5) "Allow HTTPS requests to servers with self signed (insecure) certificates";
  • (6) "Allow text response to be selectable";
  • (7) "The type of scroll bar that you can grab and pull up and down to scroll quicker";
  • (8) "The ability to switch between base URLs, so that I can switch between making a request to dev, staging, production, etc";
  • (9) Allow to remove multiple selected items;
  • (10) "Ability to resize JSON body font size";
  • (11) "Ability to change color scheme of JSON body";

Permitir múltiplas abas

  • Deve pelo menos ter uma aba padrão. Quando a última for removida, inserir uma nova aba vazia;
  • O item do dropdown terá no lado direito um botão:
      • Renomear aba;
      • Botão fechar.
  • No menu, adicionar as opções:
      • Nova aba;
      • Fechar aba;
      • Duplicar aba;
      • Reabrir aba fechada (em um futuro não muito distante).
  • Adicionar nas configurações se deseja perguntar toda vez que fechar uma aba com um requisição não salva;
  • Todas as abas abertas serão salvas e a atual será reaberta quando abrir o aplicativo (#29);
  • Adicionar opção "Open in new tab" no histórico e chamada;
  • Não abrir duas abas que apontam para a mesma chamada;
  • Sugerir o nome da aba como nome da chamada a ser salva;

Variables Import

Hi,

This will be like a suggestion if it can be done.

Similar to insomnia which you can put the Environment Variables, is there anything like this
in Restler?

As my imported JSON file came from Insomnia, I have put the HOST and the TOKEN (authorization token header) as an Environment Variable so I don't have to copy these values to every single API that I made. Without this, the imported JSON file is almost no use.
ex: http://{{ host }}/api/something - host came from the ENV of insomnia.

Thank you again for fixing the issue #52 , I can import the JSON file now.

Cannot import JSON file from Insomnia

JSON file import not working. No error messages return.

The file came from Insomnia, exported as JSON then tried importing to the collection section of the app.

Can't provide other details as there are no error messages that appears after selecting the JSON file to open.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.