Skip to content

Latest commit

 

History

History
67 lines (59 loc) · 3.04 KB

TODO.md

File metadata and controls

67 lines (59 loc) · 3.04 KB

TODO

This is a slightly Postman-like Jupyter widget for exploring RESTful APIs.

More to come...

To-do:

  • handle compression
  • show when errors occur
  • add real gists with 3D data (simple and Lidar-like)
  • pass entire vcr recorder object instead of a cassette path to make config easier
  • use type hints for signatures (except for JSON, use Any there)
  • test URLs with encoded params like https://foo.com/search?q=search%20index%3D
  • use/show/test request/response cookies
  • create something like a RequestView class with some UI for the input
  • use sliders in addition to text fields for numerical request parameters
  • use dropdown boxes in addition to text fields for categorial request parameters
  • mask request query params with specific names (makes the interface a little useless...)
  • add clear button to response pane
  • add more tests, accessing various types of response output and views derived from it
  • concentrate init params for Api class into configuration object
  • describe init params in Api class' decstring
  • learn more from https://github.com/oschuett/appmode to add an even better binder integration

Done:

  • add working mybinder.org badge
  • add working nbviewer badge
  • add info to status line if request response was read from cache (vcr cassette)
  • add test using mypy on some parts of the code
  • access result data rendered in response view (built-in or custom)
  • use caching based on vcr package
  • add basic example for 3D data using ipyvolume widget
  • show a status line with HTTP code, reason, time, encoding
  • add test/example for content-type application/x-protobuf
  • show SVG
  • indicate when a timeout occurs
  • improve coding, e.g. better identifier names
  • use timeouts when executing a request
  • use request headers
  • use request data (JSON)
  • provide ExtendedTab class as subclass of Tab to access children by name
  • change module name to ipyrest
  • rename package to ipyrest
  • class __init__ constructor has url, params, headers, cookies
  • distinguish between path params and query params
  • show bitmaps tab for respective content-type in response header
  • show GeoJSON tab for respective content-type in response header
  • calculate sppropriate center and zoom level for shown GeoJSON data
  • show HTML tab (only basic HTML, no CSS/JS)
  • provide a test-suite for testing the widgets programmatically (no browser needed)
  • implement views to render specific mime-types
  • allow for customized response views (e.g. show a route from the HERE API)
  • support GPX format (XML)

Mabye:

  • import Postman collections files
  • use/store environments like Postman
  • keep history of sent requests/responses and allow to repeat them (some dropdown menu?)
  • add search field for JSON output
  • add search field for XML output
  • use pygments for styling HTML widgets (unclear if supported by ipywidgets for now)
  • find some MIMEType class like this: https://github.com/jsdom/whatwg-mimetype, see also https://tools.ietf.org/html/rfc2231