Commit Graph

38 Commits

Author SHA1 Message Date
R. Tyler Croy a97996c885 Refactor RedisQueue into Java with additional minor updates
Some logging items were previously missed and the status code 429 as a
retryable error has been added in this commit
2015-04-06 10:06:47 -07:00
R. Tyler Croy 2d137d80c1 Keep the Groovy plugin in Gradle to ensure that tests are run properly 2015-04-03 10:08:09 -07:00
R. Tyler Croy f496b0e04e Expand the javadocs in code and add to docs/ tree 2015-04-03 08:40:34 -07:00
R. Tyler Croy fc9917966a Move the groovy/ directory to java/
Fixes #25
2015-04-03 08:17:41 -07:00
R. Tyler Croy 666769e9f6 Move the configuration handling over to Java 2015-04-03 08:07:07 -07:00
R. Tyler Croy aa84bad7b9 Move SequentialHookRunner into Java
This required a bit more refactoring of some interfaces which I didn't do quite
right previously
2015-04-03 07:44:42 -07:00
R. Tyler Croy 1b44cd2c1e Move AbstractHook into Java 2015-04-03 07:31:53 -07:00
R. Tyler Croy 5751ba80fc Move AbstractHookQueue into Java 2015-04-03 07:30:34 -07:00
R. Tyler Croy 4fa2667c16 Move InMemoryQueue into Java, refactor some Groovy-specific interfaces away 2015-04-03 07:25:40 -07:00
R. Tyler Croy a79048c9e8 Rewrite HookRequest in Java 2015-04-03 06:56:24 -07:00
R. Tyler Croy 67af6a1a25 Rebuild the Publisher class in Java 2015-04-03 06:52:41 -07:00
Mahesh V Kelkar 1a232c2553 Removed the re-throw in the pop routines for in-memory and redis queue
References #9 and #23
2015-03-25 11:05:24 -07:00
Mahesh V Kelkar 1f623174b1 Instead of logging exception, pass exception object to logger API
References #9 and #23
2015-03-25 11:05:24 -07:00
Mahesh V Kelkar 83809fe156 Added logs to whoas using logback
References #9
2015-03-25 11:05:24 -07:00
Giri Dandu 871edc668e Update after code review comments
- Let client specify the full content type and take default value if the content type
   is null
 - Fixes #7
2015-03-25 12:06:34 -04:00
Giri Dandu 9920b2acdd Allow whoas clients to specify the content type param for each hook request
- Fixes #7
2015-03-25 10:34:39 -04:00
Mahesh V Kelkar f50b83bd04 Check for response variable before using in the whoas publish code
The response variable could be null on unsuccessful response from the
HTTP post.

References #21
2015-03-19 17:25:55 -04:00
Mahesh V Kelkar c3be62612b Moved JedisPool handling to RedisQueue class
Based on the review feedback comments

References #3 and #18
2015-03-18 16:27:15 -07:00
Mahesh V Kelkar 9e8244ddb8 Added more queue config for supporting Redis queue and changed it to struct
References #3
2015-03-18 16:27:15 -07:00
Mahesh V Kelkar 000737c163 Initial coding, tests for RedisQueue for Redis as a queue provider
References #3
2015-03-18 16:27:04 -07:00
Giri Dandu b8207117a6 Update after code review comments
- Fixes #14
2015-03-18 11:28:04 -04:00
Giri Dandu e8b4c4e788 Make whoas configuration optional
- If configuration is not present, create InMemoryQueue and SequentialHookRunner
 - Add unit tests
 - Update docs with configuration section
 - Fixes #14
2015-03-18 10:25:16 -04:00
Giri Dandu 9ff42a96c2 Update after code review comments
- Make the java docs more meanigful
 - Fixes #11
2015-03-17 18:51:54 -04:00
Giri Dandu 5a8bc06243 Update after code review comments
- Remove unnecessary dependencies from build.gradle
 - For easy plug in for thirdparty queues and runners, use class names to create them
 - Fixes #11
2015-03-17 14:58:25 -04:00
Giri Dandu beaff13063 Add whoas configuration and factory to create runner and queue based on configuration
- Fixes #3
 - Modified .gitignore to remove idea directory
2015-03-17 10:21:28 -04:00
R. Tyler Croy 763e29a7a8 Ensure we're reading the response from the Jersey client to cleanly close the response
Otherwise we'll litter our webserver with errors like:

    localhost - - [02/Jan/2015:10:42:49 PST] "POST /mailbox HTTP/1.1" 200 2
    - -> /mailbox
    [2015-01-02 10:42:49] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:10
            /home/tyler/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/httpserver.rb:80:in `eof?'
            /home/tyler/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/httpserver.rb:80:in `run'
            /home/tyler/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'
2015-01-02 12:14:28 -08:00
R. Tyler Croy a2111bfa4f Add the AbstractHookRunner and SequentialHookRunner classes to bridge queues and publishers
This should meet the absolute most basic requirements of #1, it's not going to
execute things in parallel, but it's going to churn through queued webhooks one
by one without much issue
2014-12-31 12:41:02 -08:00
R. Tyler Croy 7bb472da62 Add ta link to the bintray artifacts 2014-12-31 12:37:46 -08:00
R. Tyler Croy 63865ba12d Imagine what it would be like if I actually made classes abstract like I said I was 2014-12-31 11:49:33 -08:00
R. Tyler Croy 3b85e6a3e6 Add the whoas.Publisher class for actually executing the HookRequests with retry/backoff
This has technically been tested against a local Sinatra application, but I've
not added automated integration tests yet (which I should) to validate that it
actually makes the requests it's supposed to
2014-12-31 10:51:32 -08:00
R. Tyler Croy b97d8fe153 Start documenting the behavior and expectations around the Whoas Publisher
This is largely to make sure my own thoughts are organized right now
2014-12-31 08:37:27 -08:00
R. Tyler Croy 66325fc723 Rename IHookQueue to AbstractHookQueue to be more conventional 2014-12-31 08:37:06 -08:00
R. Tyler Croy 58b4a4c710 Add the build status to the site 2014-12-30 22:05:27 -08:00
R. Tyler Croy 5b7f835d10 Add a simple asciidoc homepage 2014-12-30 22:02:16 -08:00
R. Tyler Croy f57db21bba Finish implementing the InMemoryQueue
This will provide just the simplest of queueing operations for testing of Whoas
but also for integration testing in users of Whoas

Fixes #2
2014-12-30 21:54:18 -08:00
R. Tyler Croy 8087920b71 Add support for supplying your own Queue implementation to the InMemoryQueue
This will make it a bit easier to test inside of Spock with pre-configured/set
up queues
2014-12-30 21:23:12 -08:00
R. Tyler Croy 2689feb2cd Add a simple default constructor for whoas library consumers to use 2014-12-30 21:22:52 -08:00
R. Tyler Croy d9ee4411dc Start adding some stub classes with the needed data attached to them
Relates to #2
2014-12-30 21:03:08 -08:00