Skip to content

Latest commit

 

History

History
49 lines (41 loc) · 1.8 KB

TODO.md

File metadata and controls

49 lines (41 loc) · 1.8 KB
  • Pinger
    • Implement detailed logging
    • Handle expected response
    • Handle 500 errors
  • Walk through for edge-case error handling
  • Completely test non-get requests (how do you define them in urls.yaml?)
  • Tests for EMHTTPDispatcher
  • Support proxies for outgoing connections
  • Write the net/http dispatcher
  • Debug logging to log responses too
  • Write a URL Agent server to proxy requests through

Done

  • Modified logging format to include url name in all log lines
  • Pinger is now integrated into Base & monitoring is auto-started if there is a pinger configuration in urls.yaml.
  • A logger implementation & detailed logging for Pinger
  • Sprinkling logging seeds everywhere
  • Detailed debug logging for requests & responses
  • Fixed Fiber.yield errors for the Pinger
  • Pinger
    • Pinger now works & tests connection and timeout errors configurable in the pinger block in urls.yaml
    • Each url can be configured separately with test parameters
  • Extensive reworking to work with edge versions of gems.
  • Fixing a bug in upstream em-http-request & em-synchrony.
  • Base now throws error on timeouts and connection errors.
  • Much cleaner code, modularizing into base, url sets & urls.
    • Urls can be marked as dead
    • Url sets have at least one live url.
    • Urls can be directly invoked & passed on to the dispatcher.
  • BREAKING CHANGE: The url_agent.call(:google) syntax no longer works.
  • url_agent[:identifier].get(arguments) work
  • The basic URLAgent::Base class
    • url_agent = URLAgent::Base.instance
    • url_agent.call(:identifier, { parameters }) => result
  • Auto-detection of em-synchrony architecture
  • The em-http dispatcher