{"push_id":1554968587,"size":101,"distinct_size":8,"ref":"refs/heads/feature/dotnet_wrapper","head":"efc421775be2e0ad8679f2ad6ae83d1d89397b1c","before":"faf6ca8348db502c70e906f9208021ce224260cb","commits":[{"sha":"478159a05e2569e0e4ed890e2cd5554237e88cb5","author":{"name":"Conor Hackett","email":"e5d196462ac5a54ec3bb2b8fa561e6405f14afa1@gmail.com"},"message":"Feature/java pspconfig update (#103)\n\n* Update Java library wrapper code\r\n\r\n* Updating example code\r\n\r\n* Fix error handling.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/478159a05e2569e0e4ed890e2cd5554237e88cb5"},{"sha":"c3c51acc1e8c5d436949111c3c5791642f9376c0","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"This closes #95","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/c3c51acc1e8c5d436949111c3c5791642f9376c0"},{"sha":"74ef80fdd75c7bcdb2ece44e2f04935de3b3225b","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"remove wpwithin.jar from project folder.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/74ef80fdd75c7bcdb2ece44e2f04935de3b3225b"},{"sha":"ca32901c092385da3fc7cb2281a0db399ab0da54","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Add null check for listener.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/ca32901c092385da3fc7cb2281a0db399ab0da54"},{"sha":"3e445bcf3729ccd0d642e9e2ad4278c1518d1b4a","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Initialise WPWithin with RPCAgentListener now.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/3e445bcf3729ccd0d642e9e2ad4278c1518d1b4a"},{"sha":"ce69c661975759b043e02b710407740a0756e72a","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Remove reference to clientUUID in Node.JS wrapper.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/ce69c661975759b043e02b710407740a0756e72a"},{"sha":"9ca2738e3281af36aeb817eb16df255085624ffd","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Launcher process waits 500ms before returning.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/9ca2738e3281af36aeb817eb16df255085624ffd"},{"sha":"0ab33cf83428212cee702dc94d64f5442939cbf3","author":{"name":"Conor Hackett","email":"e5d196462ac5a54ec3bb2b8fa561e6405f14afa1@gmail.com"},"message":"Remove unit test package. (#110)","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/0ab33cf83428212cee702dc94d64f5442939cbf3"},{"sha":"3efd8a84e7a4003af4cba78b47907faa909a36b7","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Merge branch 'master' into develop\n\n# Conflicts:\n#\tsdkcore/wpwithin/psp/onlineworldpay/onlineworldpay.go\n#\twrappers/java/examples/sample-consumer/libs/wpwithin.jar\n#\twrappers/java/examples/sample-consumer/src/com/worldpay/innovation/wpwithin/consumerex/Main.java\n#\twrappers/java/examples/sample-producer-callbacks/src/com/worldpay/innovation/wpwithin/producercallbackex/Main.java\n#\twrappers/java/examples/sample-producer/libs/wpwithin.jar\n#\twrappers/java/examples/sample-producer/src/com/worldpay/innovation/wpwithin/producerex/Main.java","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/3efd8a84e7a4003af4cba78b47907faa909a36b7"},{"sha":"6a01e3fa166e248c06c8e1b5a3273cf02329d0af","author":{"name":"Conor Hackett","email":"e5d196462ac5a54ec3bb2b8fa561e6405f14afa1@gmail.com"},"message":"Develop (#111)\n\n* nil check sdk, remove HTE cred from car wash demo consumer, implement reset session state\r\n\r\n* - Refactored initialisation code into SDKFactory\r\n- Removed HCE Manager (redundant)\r\n- Converted some things to interfaces.\r\n\r\n* newHCECredential func, refactor user input\r\n\r\n* Added some inline documentation.\r\n\r\n* Added HTTP client as a dependency for HTEClient so we can mock GET/POST requests\r\n\r\n* Refactored device discovery. ServiceScannerImpl no longer uses a goroutine internally, that is now up to the caller.\r\n\r\n* Abstracted UDP connectivity behind a Communicator / Connection set of interfaces. Works for Service Scanner now.\r\n\r\nNeed to implement for broadcaster now.\r\n\r\n* Fix broadcaster - minor bug - missing HTE and Port called as variable not function.\r\n\r\n* BugFix:: UDPCommunicator now returns the connection after connecting.\r\nBugFix:: UDPCommunicator parses the host as an IP instead of casting to []byte..\r\n\r\n* Updated BroadcasterImpl to use Communicator / Connection instead of Net.UDP.\r\n\r\n* Testing the types.Service struct.\r\n\r\n* implement start broadcast\r\n\r\n* Bug fix. Call to UrlPrefix missing parentheses.\r\n\r\n* Move HTE Client implementation to separate file.\r\n\r\n* Updated the readme file with some extra setup info\r\n\r\n* A few amendments again to the readme.txt\r\n\r\n* - Implemented getHTE() and getHTEServiceHandler() in core.factory\r\n- HTE newServiceHandler now takes in service handler instead of creating it.\r\n\r\n* Oops, this is related to last commit.\r\n\r\nAssign service handler from parameter instead of creating anew.\r\n\r\n* Added readme for Java\r\n\r\n* Remove redundant InitHTE call.\r\n\r\n* As a hack, i've needed to implement OrderExists in OrderManager. :(.\r\n\r\n* Added order manager tests.\r\n\r\n* Fixed formatting after crap copy/paste job.\r\n\r\n* Integrated a very simple config file based on Lauras code\r\n\r\n* Remaining files for config changes inserted\r\n\r\n* Added details of log file to the REAME.md file\r\n\r\n* Added details of log file to the REAME.md file take 2\r\n\r\n* Added details of log file to the REAME.md file take 3\r\n\r\n* Added details of log file to the REAME.md file take 4\r\n\r\n* Update README.md\r\n\r\nUpdate README.md\r\n\r\n* Update README.md\r\n\r\nUpdate README.md\r\n\r\n* remove hte credential setup from car wash consumer, refactor keys into consts\r\n\r\n* Put back HTE cred setup in cashwashconsumer, remove unecessary call\r\n\r\n* Refactor pricePerUnit in Price to be a struct and contain both the actual amount and the currency that the amount represents.\r\n\r\n* Fix:: Correctly implement the payment flow by tokenising payment credentials using clearwater client key as received from producer thing. Not from code. Refactored demo code to reflect this.\r\n\r\n* - Implement composite ServiceDeliveryToken. i.e. Instead of consisting of a simple string, there is now extra data such as issue/expiry time and a signature.\r\n- Add function to formation a time object as an ISO8601 compliant string.\r\n- Updated thrift definition to include the new composite ServiceDeliveryToken type.\r\n\r\n* Re-enabled the map<i32, Price> member variable of the Service struct in Thrift definition.\r\nUpdating java wrapper code and also adding a hack fix into the Go code to see if it fixed the map<int, struct> issue.\r\n\r\n* Update online.worldpay.com API keys.\r\n\r\n* KG - First attept at building the interactive dev app menu structure\r\n\r\n* - Updated HTE HTTP Client to return return a third value, int, which is HTTPStatusCode of response.\r\n- Added online.worldpay.com HTTP Status codes.\r\n- Added improved error checking for online.worldpay.com implementation.\r\n- Added error response struct to represent errors returned from online.worldpay.com\r\n- Added some extra fields to WPWithin error response, as used by HTE REST API.\r\n\r\n* When adding a service, check that the service being added does not exist already (based on id).\r\n\r\n* Remove ServiceID Field from Price struct.\r\n\r\n* Thrift refactor - remove ServiceID field from Price struct.\r\n\r\n* Building the consumer and producer test flows, think there's something gone wrong with the thrift generated code\r\n\r\n* Update Thrift generate Java code.\r\n\r\n* Updating Java WPWithin wrapper to reflect new thrift definition.\r\n\r\n* Thrift wrapper generated and basic unit test to send a message\r\n\r\n* Added basic wrappers for each Thrift data type\r\n\r\n* More skeleton code\r\n\r\n* Finished getting the rest of the menu working\r\n\r\n* Refactored the Menu code to make common methods common to a parent class...\r\n\r\n* Fixed the multiple log files issue\r\n\r\n* something strange is going on with the Prices data structure, it can't be read back after being set\r\n\r\n* C# Type wrappers with adapters for Thrift generated code implementation plus changed CSharp Thrift package\r\n\r\n* Ignore the .DS_Store files\r\n\r\n* Set log output to file.\r\n\r\n* Append log file.\r\n\r\n* Add minor fixes + default config file.\r\n\r\n* add new error handler using go routines\r\nchange logging to output to file\r\nremove some unessential menu items - will review later\r\n\r\n* Feature/thrift update (#5)\r\n\r\n* Change thrift interface and refactor code elsewhere to allow build:\r\n- Merge initHTE/initHCE into initProducer/initConsumer functions.\r\n- Rename serviceDiscovery function into deviceDiscovery.\r\n- Add beginServiceDelivery and endServiceDelivery functions.\r\n\r\n* Stub delivery functions.\r\n\r\n* Code cleanup as a result of running `go fmt`.\r\n\r\n* Add panic recovery and log statement.\r\n\r\n* Add stack trace to panic recovery log statement.\r\n\r\n* Print stack trace to console upon panic\r\n\r\n* Finished adding all basic classes and adapters, no testing done yet\r\n\r\n* Put currencyCode in quotes in JSON declaration.\r\n\r\n* Remove currencyCode from Device - it is redundant.\r\n\r\n* Implement handler callback ability within the SDK.\r\n\r\n* Created unit test framework for tests requiring the Thrift RPC Agent to be active\r\n\r\n* Test framework completion\r\n\r\n* Updated thrift definitions to include a new service \"WPWithinCallback\" allowing the SDK to call directly into the calling application.\r\n\r\n* Remove redundant CallbackClient interface and map event handling using the \"event.Handler\" interface.\r\n\r\n* BugFix\r\n\r\n* Patch, correct fix outstanding. Don't defer close the client connection.\r\n\r\n* Error checking and implement callback functionality.\r\nAlso added a function ParseISOTime() which converts a string to time.Time object.\r\n\r\n* refactor dev client so that no longer returns exit code\r\nmove errors and defaults into new packages\r\nload profile functionality\r\n\r\n* remove unimplemented method call\r\n\r\n* Update Java code to support WPWithin callback via Thrift.\r\n\r\n* add auto consume functionality\r\nremove unused funcs\r\nremove unused config items in device profile\r\n\r\n* Add mock PSP.\r\n\r\n* Add JS namespaces.\r\n\r\n* Initial commit\r\n\r\n* code tidy\r\n\r\n* code tidy\r\n\r\n* code tidy + move error into errors package\r\n\r\n* fix: don't join working dir when reading profile\r\n\r\n* Implement wrapper\r\n\r\n* Minor change.\r\n\r\n* Initial commit of SDK types and type converter for to/from thrift.\r\n\r\n* Add main.js containing some sample code.\r\n\r\n* Add JS namespace\r\n\r\n* Feature/dev client menu items (#19)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Implement RPC start mechanism.\r\n\r\n* Ignore uuid.txt\r\n\r\n* add new error handler using go routines\r\nchange logging to output to file\r\nremove some unessential menu items - will review later\r\n\r\n* Finished adding all basic classes and adapters, no testing done yet\r\n\r\n* Put currencyCode in quotes in JSON declaration.\r\n\r\n* Remove currencyCode from Device - it is redundant.\r\n\r\n* Created unit test framework for tests requiring the Thrift RPC Agent to be active\r\n\r\n* Test framework completion\r\n\r\n* refactor dev client so that no longer returns exit code\r\nmove errors and defaults into new packages\r\nload profile functionality\r\n\r\n* remove unimplemented method call\r\n\r\n* add auto consume functionality\r\nremove unused funcs\r\nremove unused config items in device profile\r\n\r\n* code tidy\r\n\r\n* code tidy\r\n\r\n* code tidy + move error into errors package\r\n\r\n* fix: don't join working dir when reading profile\r\n\r\n* Feature/dev client menu items (#19)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Ignore uuid.txt\r\n\r\n* some work on go fmt refactor.\r\n\r\n* Remove HTML and use markdown instead.\r\n\r\n* Clean up next steps. Add outstanding to Github as issues and remove completed items.\r\n\r\n* Broke the build and fixing now - Oops :/\r\n\r\n* First draft of RPC readme.\r\n\r\n* Add rpc-agent readme\r\n\r\n* Remove .gitignore uuid directive exists at higher level now.\r\n\r\n* Remove .gitignore as uuid directive exists at higher level.\r\n\r\n* Feature/dev client menu items (#25)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Feature/java wrapper (#28)\r\n\r\n* KG first check in of the new Java wrapper for the Worldpay Within SDK\r\n\r\n* Fixed a bug where one of the Thrift rpc types was getting through the interface...\r\n\r\n* Added javadoc comments to the Wrapper interface\r\n\r\n* Fix readme filename\r\n\r\n* First commit consumer-sample java project. Include .gitignore.\r\n\r\n* Clean up wrapper implementation file and move converter functions to ThriftAdapter package.\r\n\r\n* Add sample consumer application.\r\n\r\n* Print out service and price info\r\n\r\n* Sample producer first commit. Including .gitignore\r\n\r\n* Including sample producer code and dependencies.\r\n\r\n* Update readme\r\n\r\n* - Move wrapper code into libary folder.\r\n- Create example consumer.\r\n\r\n* Fix startRPC() function and also add sample producer application.\r\nAlso convert nested prices in server converter.\r\n\r\n* Fix fields during conversion\r\n\r\n* Clean up converter.\r\n\r\n* Add missing logfile assign\r\n\r\n* Result of `go fmt`\r\n\r\n* Update readme for RPC - remove reference to NodeJS wrapper branch\r\n\r\n* Updated main README\r\n\r\n3) How to use this SDK, needs developing further in more detail on the git home page, including fixing package names for the GO SDK source\r\n\r\n* Updated links to full documentation\r\n\r\nUsing markdown\r\n\r\n* Added formatting to the documentation\r\n\r\n* Formatting changes still...\r\n\r\n* Updated an alternative way of running rpc-agent\r\n\r\n* Added code markup to code or commands\r\n\r\n* Updated details on running the  rpc-agent\r\n\r\nUpdated details on running the  rpc-agent, logging, and config\r\n\r\n* Trying to fix formatting\r\n\r\n* Tweaking formatting\r\n\r\n* Sorted out formatting of log file etc\r\n\r\n* Created a readme file for the sdkcore\r\n\r\n* Update README.md\r\n\r\n* first draft of the readme file\r\n\r\n* Added detailed instructions on running the app\r\n\r\nRunning the app and interoperability with the wrapper example apps\r\n\r\n* Include prices when converting service to Native Go type from Thrift type.. break out the code to a function to be re-usable. (Should probably create a converter struct)\r\n\r\n* - Correctly convert prices in service.\r\n- Start RPC agent out of local directory.\r\n\r\n* Add missing addService() call.\r\n\r\n* Don't start RPC agent from Node.JS for now.\r\n\r\n* Add RPC-Agent per wrapper with port config\r\n\r\n* Added some further info to wrapper doc\r\n\r\n* Adding the MIT license file to the repo\r\n\r\nAgreed with Matt Saxon, and confirmed we are okay by Robin Mabley, if Matt Saxon is happy with this.\r\n\r\n* Refactor imports to include github.com instead of innovation.worldpay.com\r\n\r\n* Add Node.JS documentation\r\n\r\n* Added Conor's documentation on the binaries\r\n\r\n* Fixing links to github pages\r\n\r\n* Update README.md\r\n\r\n* Update broken links.\r\n\r\n* Add command to install all Go dependencies in one step.\r\n\r\n* Previously a timeout specifed as zero would only send one broadcast message then timeout. I.e. The timeout was interpreted as zero seconds but it should mean no timout. (#34)\r\n\r\nFixed: Now specifying a timout of zero means the broadcaster will run indefinitely.\r\n\r\n* Fix warning highlighted by `go fmt`. (#35)\r\n\r\n* Feature/node js bin launcher (#36)\r\n\r\n* Implement new launcher - initial commit.\r\n\r\n* Improve error handling in callbacks.\r\n\r\n* Typo - shouldn't return callback\r\n\r\n* Fix formatting of errors\r\n\r\n* Implement basic scanner and producer apps. (#37)\r\n\r\n* Fix remove input paramter in populate configuration function. (#38)\r\n\r\n* Patch/java bin launcher (#40)\r\n\r\n* Implement RPC Agent launcher in Java library.\r\n\r\n* Update sample consumer application to launch RPC agent.\r\n\r\n* print output streams up application exit.\r\n\r\n* Implement function to stop process in Launcher.\r\n\r\n* Patch/refactor configuration (#41)\r\n\r\n* Refactor configuration implementation.\r\n\r\n* Add convenience functions to Item.\r\n\r\n* Fix config usage in rpc-agent.\r\n\r\n* Added ability to start websocker logger via configuration file. Added WPWithin specific configuration struct in configuration package. (#42)\r\n\r\n* Change deafult config file to wpwconfig.json\r\n\r\n* Fix how Go reads text input (#49)\r\n\r\n* Feature/event callback thrift (#51)\r\n\r\n* Adding WPWithinCallback service to Thrift definition files with first two functions { Begin/End ServiceDelivery }\r\n\r\n* Initial commit - base sample producer app.\r\n\r\n* Implement callbacks to wrappers via RPC. Currnently supporting begin/end service delivery.\r\n\r\n* Implement callbacks in sample producer application with callbacks.\r\n\r\nConvert WPWithinGeneralException to RuntimeException (Unchecked).\r\n\r\nImplement a Thrift RPC server to allow the SDK Core to connect to to send events, implement a handler that applications can use to pickup events.\r\n\r\n* Add callback port config / parameter to RPC Agent.\r\n\r\n* Update app to include call to beginServiceDelivery.\r\n\r\n* Implement Node.JS RPC event listener.\r\n\r\n* Add config port to RPC Agent config.\r\n\r\n* Fix and fully implement event callbacks. + working in NodeJS.sample-consumer + Java.sample-producer-callbacks\r\n\r\n* Update java consumer to call begin/end service delivery correctly.\r\n\r\n* Add event handler to Go sample application and rename project folder. (#52)\r\n\r\n* - Add linebreak to print statements.\r\n- Add config file for sample-producer-callbacks application.\r\n\r\n* Add json config to Go sample producer with callbacks.\r\n\r\n* Ignore log files.\r\n\r\n* Patch/issues blast (#55)\r\n\r\n* (highlighted by go fmt) fix JSON declaration.\r\n\r\n* Issue #43 - Enforce unique price id when adding a price to service.\r\n\r\n* - Some fixes, cleanup\r\n- Some improvements in an effort work towards the tracking units consumed during service delivery (work in progress)\r\n\r\n* Set the delivery token key to be the PSP reference, a hack that allows us to find the order in OrderManager later - :/\r\n\r\n* - Work in progress - adding validation to Begin/End service delivery.\r\n- Update Thrift interface to return ServiceDeliveryToken for Begin/End ServiceDelivery.\r\n\r\n* Clean up and bug fixes:\r\n- Add updateOrder function to OrderManager as we can't directly update the orders in the manager as they are stored in non addressable map.\r\n- Updated thrift interface { Java, Node.JS }\r\n- Uncommented and removed some test code that was in there, Ooops :/\r\n- Implemented check when clients request to consume a number of units. Checks to see if the number is valid.\r\n\r\n* - Set correct number of units remaning in endServiceDelivery.\r\n- Sleep for 750ms when launching the RPC Agent in Node.JS to allow it time to start...\r\n\r\n* Feature/node js cleanup (#56)\r\n\r\n* ignore directory: rpc-agent-bin\r\n\r\n* - Clean up RPC launcher\r\n- Fix sample producer-callbacks\r\n- Added check for WPWBIN environment variable before using ./rpc-agent-bin\r\n- Added flags to launch command { callbackport, loglevels, logfile }\r\n\r\n* removing binaries.\r\n\r\n* Patch - unit check would error if the number of units available were requested. i.e. Removed the '='\r\n\r\n* Validate host when creating a new RPC Service instance. Should only listen on local interfaces.\r\n\r\n* Fix :: I was mistakenly passing the callbackport instead of the rpcport.\r\n\r\n* Feature/java cleanup (#63)\r\n\r\n* Update Java samples to work latest SDK and also consume the path to WPWBIN using environment variable.\r\n\r\n* no message\r\n\r\n* - This fixes #29 (#64)\r\n\r\n- Fix involved refactoring the Thrift interface (just a parameter name change), hence the large number of code changes.\r\n- Also some other minor tweaks around.\r\n\r\n* Fix ports. This closes #63 (#65)\r\n\r\n* Remove ClientUUID from code.. addresses issue #53 (#66)\r\n\r\n* Rename currentCode to currencyCode in Java. Fixes #27\r\n\r\n* Closes issue #61\r\n\r\n* Add scheme to ServiceMessage in SDK. That means adding it to Thrift, and also refactoring Java and Node.JS code to replace the hardcoded \"http://\" string with dynamic selection.\r\n\r\nClose #6\r\n\r\n* Add missing updates to \"scheme\" patch.\r\n\r\n* More updates around currentCode to currencyCode refactor.\r\n\r\n* Cleanup up client creation in WPWithin Node.JS library.\r\n\r\n* Tweak creation of WPWithin client.\r\n\r\n* Add currencyCode to TotalPriceResponse.\r\n\r\n* Feature/sdk core cleanup (#69)\r\n\r\n* Cleanup.\r\n\r\n* Cleanup\r\n\r\n* result of running `go fmt ./...` close #21\r\n\r\n* Updating TotalPriceResponse to include currencyCode as per issue #67 (#70)\r\n\r\n* Fix architecture link.\r\n\r\n* remove old config files.\r\n\r\n* - Provide more meaningful init message during WSLog init\r\n- Remove error return when when failed to write to websocket. No need to litter the console with errors just because the web browser hasn't been connected to logger.\r\n- Pass in external IPv4 address to WSLog\r\n\r\n* Add sample consumer written in Go.\r\n\r\n* Direct log output to STD out.\r\n\r\n* Feature/dotnet wrapper (#75)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Add readme notes.\r\n\r\n* Update documentation.\r\n\r\n* Documentation update.\r\n\r\n* Feature/dotnet wrapper (#77)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Doc update.\r\n\r\n* Delete configLoad package - old implementation.\r\n\r\n* Add flags.\r\n\r\n* Update Id field\r\n\r\n* Feature/python 2 7 wrapper (#82)\r\n\r\n* First commit Python 2.7 wrapper\r\n\r\n* Light documentation.\r\n\r\n* Feature/dotnet wrapper (#86)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Tidying up and documentation\r\n\r\n* Fixed bugs in env var references, now works!\r\n\r\n* Lots of comments and fixing up of attributes that should be immutable\r\n\r\n* Added comments and made hashcode attributes immutable\r\n\r\n* Removed CallbackTest (needs rewriting) and fixed search string for RPC agent startup confirmation (still not ideal)\r\n\r\n* Adding implementation to log events to MongoDB for analysis later on - implemented by Joe Drumgoole @ MongoDB. (#88)\r\n\r\nRefactored implementation to be inline with existing event handler and updated sample Go producer app with callbacks.\r\n\r\n* Feature/python wrapper (#87)\r\n\r\n* add python .gitignore\r\n\r\n* add python wrappers\r\n\r\n* Python Launcher and executables\r\n\r\n* Launcher mac mapping added\r\n\r\n* Launcher moved to lib folder. () added to Print functions\r\n\r\n* moved launcher.py main() WPWithin method\r\n\r\nadded docstrings and hard conventions to launcher\r\n\r\n* launcher.py moved, not deleted\r\n\r\n* arm architecture added to Launcher\r\n\r\n* add sample apps\r\n\r\ntypo in launcher\r\ndisambiguate runRPCAgent in wpwithin.py\r\n\r\n* launch RPG Agent for consumer as well\r\n\r\n* Seperate run.py for launcher test\r\n\r\n* Run.py includes kill example as well for launcher\r\n\r\n* add option to shutdown RPC agent from client\r\n\r\nsee if this makes sense later\r\n\r\n* update types\r\n\r\n* types used as properties in others declared first\r\n* use camelCasing consistently\r\n* rename type in HCECard cardType,\r\nto avoid conflict with language keyword\r\n\r\n* update wpwithin\r\n\r\n* add callbacks\r\n\r\n* implemented callback handler opt in createClient\r\n\r\n* raise ValueError on invalid input\r\n\r\n* fix late night typos\r\n\r\n* update sample apps\r\n\r\n* added necessary type converters\r\n\r\n* service prices should be dict\r\n\r\n* fix, used wrong thrift spec\r\n\r\n* bug fixes\r\n\r\n* Update RPC Agent binaries.\r\n\r\n* missing method in consumer_main\r\n\r\n* python3 wrapper working\r\n\r\nseveral bug fixes\r\ntested sample apps\r\ndeleted rpc binaries\r\n\r\n* Feature/pi led (#93)\r\n\r\n* Initial commit Pi demo.\r\n\r\n* Update for R, G, B LEDs\r\n\r\n* Basic formatting fixes.\r\n\r\n* Update for demo\r\n\r\n* updated to recognise windows as a valid os (#90)\r\n\r\n* Slight issue with how parsing and returning after a successful request. Also added some logging.\r\n\r\n* Dev client now set up for online.worldpay.com now (including device profile).\r\n\r\n* Update for wpo\r\n\r\n* Update Java library wrapper code\r\n\r\n* Updating example code\r\n\r\n* Fix error handling.\r\n\r\n* Fix/njs psp update (#104)\r\n\r\n* - Update wrapper library to include the new PSP confing map, which enables more flexible configuration.\r\n- Remove js namespace from thrift IDL files.\r\n\r\n* Fix version of library package and add gitignore to ignore “node_modules” folder.\r\n\r\n* Update sample apps to show new PSP Config stuff.\r\n\r\n* fix thrift types declaration order (#98)\r\n\r\nobjects that are properties of other object appear first,\r\nfixes issue with thrift for python\r\n\r\nchange all properties to camel case\r\n\r\n* Add begin service delivery call to dev-client auto consume.\r\n\r\n* Ignore build directory.\r\n\r\n* - Remove configuration file stuff\r\n- Clean up flag param stuff\r\n\r\n* Build script to build rpc-agent for supported platforms.\r\n\r\n* Feature/dotnet wrapper various bugfixes, refactoring and upgrade to Thrift 0.10.0 (#108)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Tidying up and documentation\r\n\r\n* Fixed bugs in env var references, now works!\r\n\r\n* Lots of comments and fixing up of attributes that should be immutable\r\n\r\n* Added comments and made hashcode attributes immutable\r\n\r\n* Removed CallbackTest (needs rewriting) and fixed search string for RPC agent startup confirmation (still not ideal)\r\n\r\n* Improved samples\r\n\r\n* Fixed bug causing RpcAgentPath config to be ignored and added some commentary\r\n\r\n* Added null parameter check to constructor!\r\n\r\n* Removed statics in test and ThriftTest base class as it wasn't helping\r\n\r\n* Code refactoring in to different namespaces\r\n\r\n* Upgraded to Thrift 0.10.0\r\n\r\n* Added function to obfuscate a HCE Card and also get a string representation of the HCE Card instance. Useful in logging.\r\n\r\n* Add debug log statement in WPWithinImpl.\r\n\r\n* Removing binaries from repo.\r\n\r\n* Add build script for dev-client.\r\n\r\n* Add version info flag to RPC-Agent\r\n\r\n* Add getVersionInfo() function and also log version info at application start.\r\n\r\n* - Application version info now shows platform info i.e. OS/Architecture\r\n- Build script now sets platform info\r\n\r\n* Remove MongoDB phone home for Hackathon event and also the generic event logger. Going forward, if we need to log events, we can add a Logrus hook that saves the events in JSON form to wherever we want.\r\n\r\n* Resolve issue:: WebSocket logger hook to print to log output not stdout. #106\r\n\r\n* Python wrapper2.7 (#109)\r\n\r\n* Adding better error message to let you know if the new log file is missing\r\n\r\n* Adding new config file to the wrapper so it doesn't barf :)\r\n\r\n* Trying to fix the thrift type def file for python\r\n\r\n* Attempt to fix the other thrift file\r\n\r\n* Fixing and updating new thrift generated files\r\n\r\n* Making change for psp to the wrapper\r\n\r\n* Easing through the changes and ClientUUID removal! Conor did it, blame him smiley\r\n\r\n* Fixed python 2.7 new psp func wrapper fully! and tested\r\n\r\n* This closes #95\r\n\r\n* remove wpwithin.jar from project folder.\r\n\r\n* Add null check for listener.\r\n\r\n* Initialise WPWithin with RPCAgentListener now.\r\n\r\n* Remove reference to clientUUID in Node.JS wrapper.\r\n\r\n* Launcher process waits 500ms before returning.\r\n\r\n* Remove unit test package. (#110)","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/6a01e3fa166e248c06c8e1b5a3273cf02329d0af"},{"sha":"a2fbb97b124aa730fda8b16afd293dfd1b39b1c5","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Fix Pi LED Demo to build by adding PSP Config stuff and implement genericEvent in the handler.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/a2fbb97b124aa730fda8b16afd293dfd1b39b1c5"},{"sha":"355cf489b249425356c377561d7a264895012057","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Fix sample consumer to build - add PSPConfig.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/355cf489b249425356c377561d7a264895012057"},{"sha":"cf39e25db03949b0974f45abefbdf7f81714ca63","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Fix producer to build - add PSPConfig.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/cf39e25db03949b0974f45abefbdf7f81714ca63"},{"sha":"e246578b59ee639c7661e5041fd9955be20209a6","author":{"name":"Conor Hackett","email":"e5d196462ac5a54ec3bb2b8fa561e6405f14afa1@gmail.com"},"message":"Merge branch 'master' into develop","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/e246578b59ee639c7661e5041fd9955be20209a6"},{"sha":"354a790b16d1efba1ada7cd46023ce6273f2d672","author":{"name":"Conor Hackett","email":"e5d196462ac5a54ec3bb2b8fa561e6405f14afa1@gmail.com"},"message":"Develop (#112)\n\n* Added some inline documentation.\r\n\r\n* Added HTTP client as a dependency for HTEClient so we can mock GET/POST requests\r\n\r\n* Refactored device discovery. ServiceScannerImpl no longer uses a goroutine internally, that is now up to the caller.\r\n\r\n* Abstracted UDP connectivity behind a Communicator / Connection set of interfaces. Works for Service Scanner now.\r\n\r\nNeed to implement for broadcaster now.\r\n\r\n* Fix broadcaster - minor bug - missing HTE and Port called as variable not function.\r\n\r\n* BugFix:: UDPCommunicator now returns the connection after connecting.\r\nBugFix:: UDPCommunicator parses the host as an IP instead of casting to []byte..\r\n\r\n* Updated BroadcasterImpl to use Communicator / Connection instead of Net.UDP.\r\n\r\n* Testing the types.Service struct.\r\n\r\n* implement start broadcast\r\n\r\n* Bug fix. Call to UrlPrefix missing parentheses.\r\n\r\n* Move HTE Client implementation to separate file.\r\n\r\n* Updated the readme file with some extra setup info\r\n\r\n* A few amendments again to the readme.txt\r\n\r\n* - Implemented getHTE() and getHTEServiceHandler() in core.factory\r\n- HTE newServiceHandler now takes in service handler instead of creating it.\r\n\r\n* Oops, this is related to last commit.\r\n\r\nAssign service handler from parameter instead of creating anew.\r\n\r\n* Added readme for Java\r\n\r\n* Remove redundant InitHTE call.\r\n\r\n* As a hack, i've needed to implement OrderExists in OrderManager. :(.\r\n\r\n* Added order manager tests.\r\n\r\n* Fixed formatting after crap copy/paste job.\r\n\r\n* Integrated a very simple config file based on Lauras code\r\n\r\n* Remaining files for config changes inserted\r\n\r\n* Added details of log file to the REAME.md file\r\n\r\n* Added details of log file to the REAME.md file take 2\r\n\r\n* Added details of log file to the REAME.md file take 3\r\n\r\n* Added details of log file to the REAME.md file take 4\r\n\r\n* Update README.md\r\n\r\nUpdate README.md\r\n\r\n* Update README.md\r\n\r\nUpdate README.md\r\n\r\n* remove hte credential setup from car wash consumer, refactor keys into consts\r\n\r\n* Put back HTE cred setup in cashwashconsumer, remove unecessary call\r\n\r\n* Refactor pricePerUnit in Price to be a struct and contain both the actual amount and the currency that the amount represents.\r\n\r\n* Fix:: Correctly implement the payment flow by tokenising payment credentials using clearwater client key as received from producer thing. Not from code. Refactored demo code to reflect this.\r\n\r\n* - Implement composite ServiceDeliveryToken. i.e. Instead of consisting of a simple string, there is now extra data such as issue/expiry time and a signature.\r\n- Add function to formation a time object as an ISO8601 compliant string.\r\n- Updated thrift definition to include the new composite ServiceDeliveryToken type.\r\n\r\n* Re-enabled the map<i32, Price> member variable of the Service struct in Thrift definition.\r\nUpdating java wrapper code and also adding a hack fix into the Go code to see if it fixed the map<int, struct> issue.\r\n\r\n* Update online.worldpay.com API keys.\r\n\r\n* KG - First attept at building the interactive dev app menu structure\r\n\r\n* - Updated HTE HTTP Client to return return a third value, int, which is HTTPStatusCode of response.\r\n- Added online.worldpay.com HTTP Status codes.\r\n- Added improved error checking for online.worldpay.com implementation.\r\n- Added error response struct to represent errors returned from online.worldpay.com\r\n- Added some extra fields to WPWithin error response, as used by HTE REST API.\r\n\r\n* When adding a service, check that the service being added does not exist already (based on id).\r\n\r\n* Remove ServiceID Field from Price struct.\r\n\r\n* Thrift refactor - remove ServiceID field from Price struct.\r\n\r\n* Building the consumer and producer test flows, think there's something gone wrong with the thrift generated code\r\n\r\n* Update Thrift generate Java code.\r\n\r\n* Updating Java WPWithin wrapper to reflect new thrift definition.\r\n\r\n* Thrift wrapper generated and basic unit test to send a message\r\n\r\n* Added basic wrappers for each Thrift data type\r\n\r\n* More skeleton code\r\n\r\n* Finished getting the rest of the menu working\r\n\r\n* Refactored the Menu code to make common methods common to a parent class...\r\n\r\n* Fixed the multiple log files issue\r\n\r\n* something strange is going on with the Prices data structure, it can't be read back after being set\r\n\r\n* C# Type wrappers with adapters for Thrift generated code implementation plus changed CSharp Thrift package\r\n\r\n* Ignore the .DS_Store files\r\n\r\n* Set log output to file.\r\n\r\n* Append log file.\r\n\r\n* Add minor fixes + default config file.\r\n\r\n* add new error handler using go routines\r\nchange logging to output to file\r\nremove some unessential menu items - will review later\r\n\r\n* Feature/thrift update (#5)\r\n\r\n* Change thrift interface and refactor code elsewhere to allow build:\r\n- Merge initHTE/initHCE into initProducer/initConsumer functions.\r\n- Rename serviceDiscovery function into deviceDiscovery.\r\n- Add beginServiceDelivery and endServiceDelivery functions.\r\n\r\n* Stub delivery functions.\r\n\r\n* Code cleanup as a result of running `go fmt`.\r\n\r\n* Add panic recovery and log statement.\r\n\r\n* Add stack trace to panic recovery log statement.\r\n\r\n* Print stack trace to console upon panic\r\n\r\n* Finished adding all basic classes and adapters, no testing done yet\r\n\r\n* Put currencyCode in quotes in JSON declaration.\r\n\r\n* Remove currencyCode from Device - it is redundant.\r\n\r\n* Implement handler callback ability within the SDK.\r\n\r\n* Created unit test framework for tests requiring the Thrift RPC Agent to be active\r\n\r\n* Test framework completion\r\n\r\n* Updated thrift definitions to include a new service \"WPWithinCallback\" allowing the SDK to call directly into the calling application.\r\n\r\n* Remove redundant CallbackClient interface and map event handling using the \"event.Handler\" interface.\r\n\r\n* BugFix\r\n\r\n* Patch, correct fix outstanding. Don't defer close the client connection.\r\n\r\n* Error checking and implement callback functionality.\r\nAlso added a function ParseISOTime() which converts a string to time.Time object.\r\n\r\n* refactor dev client so that no longer returns exit code\r\nmove errors and defaults into new packages\r\nload profile functionality\r\n\r\n* remove unimplemented method call\r\n\r\n* Update Java code to support WPWithin callback via Thrift.\r\n\r\n* add auto consume functionality\r\nremove unused funcs\r\nremove unused config items in device profile\r\n\r\n* Add mock PSP.\r\n\r\n* Add JS namespaces.\r\n\r\n* Initial commit\r\n\r\n* code tidy\r\n\r\n* code tidy\r\n\r\n* code tidy + move error into errors package\r\n\r\n* fix: don't join working dir when reading profile\r\n\r\n* Implement wrapper\r\n\r\n* Minor change.\r\n\r\n* Initial commit of SDK types and type converter for to/from thrift.\r\n\r\n* Add main.js containing some sample code.\r\n\r\n* Add JS namespace\r\n\r\n* Feature/dev client menu items (#19)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Implement RPC start mechanism.\r\n\r\n* Ignore uuid.txt\r\n\r\n* add new error handler using go routines\r\nchange logging to output to file\r\nremove some unessential menu items - will review later\r\n\r\n* Finished adding all basic classes and adapters, no testing done yet\r\n\r\n* Put currencyCode in quotes in JSON declaration.\r\n\r\n* Remove currencyCode from Device - it is redundant.\r\n\r\n* Created unit test framework for tests requiring the Thrift RPC Agent to be active\r\n\r\n* Test framework completion\r\n\r\n* refactor dev client so that no longer returns exit code\r\nmove errors and defaults into new packages\r\nload profile functionality\r\n\r\n* remove unimplemented method call\r\n\r\n* add auto consume functionality\r\nremove unused funcs\r\nremove unused config items in device profile\r\n\r\n* code tidy\r\n\r\n* code tidy\r\n\r\n* code tidy + move error into errors package\r\n\r\n* fix: don't join working dir when reading profile\r\n\r\n* Feature/dev client menu items (#19)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Ignore uuid.txt\r\n\r\n* some work on go fmt refactor.\r\n\r\n* Remove HTML and use markdown instead.\r\n\r\n* Clean up next steps. Add outstanding to Github as issues and remove completed items.\r\n\r\n* Broke the build and fixing now - Oops :/\r\n\r\n* First draft of RPC readme.\r\n\r\n* Add rpc-agent readme\r\n\r\n* Remove .gitignore uuid directive exists at higher level now.\r\n\r\n* Remove .gitignore as uuid directive exists at higher level.\r\n\r\n* Feature/dev client menu items (#25)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Feature/java wrapper (#28)\r\n\r\n* KG first check in of the new Java wrapper for the Worldpay Within SDK\r\n\r\n* Fixed a bug where one of the Thrift rpc types was getting through the interface...\r\n\r\n* Added javadoc comments to the Wrapper interface\r\n\r\n* Fix readme filename\r\n\r\n* First commit consumer-sample java project. Include .gitignore.\r\n\r\n* Clean up wrapper implementation file and move converter functions to ThriftAdapter package.\r\n\r\n* Add sample consumer application.\r\n\r\n* Print out service and price info\r\n\r\n* Sample producer first commit. Including .gitignore\r\n\r\n* Including sample producer code and dependencies.\r\n\r\n* Update readme\r\n\r\n* - Move wrapper code into libary folder.\r\n- Create example consumer.\r\n\r\n* Fix startRPC() function and also add sample producer application.\r\nAlso convert nested prices in server converter.\r\n\r\n* Fix fields during conversion\r\n\r\n* Clean up converter.\r\n\r\n* Add missing logfile assign\r\n\r\n* Result of `go fmt`\r\n\r\n* Update readme for RPC - remove reference to NodeJS wrapper branch\r\n\r\n* Updated main README\r\n\r\n3) How to use this SDK, needs developing further in more detail on the git home page, including fixing package names for the GO SDK source\r\n\r\n* Updated links to full documentation\r\n\r\nUsing markdown\r\n\r\n* Added formatting to the documentation\r\n\r\n* Formatting changes still...\r\n\r\n* Updated an alternative way of running rpc-agent\r\n\r\n* Added code markup to code or commands\r\n\r\n* Updated details on running the  rpc-agent\r\n\r\nUpdated details on running the  rpc-agent, logging, and config\r\n\r\n* Trying to fix formatting\r\n\r\n* Tweaking formatting\r\n\r\n* Sorted out formatting of log file etc\r\n\r\n* Created a readme file for the sdkcore\r\n\r\n* Update README.md\r\n\r\n* first draft of the readme file\r\n\r\n* Added detailed instructions on running the app\r\n\r\nRunning the app and interoperability with the wrapper example apps\r\n\r\n* Include prices when converting service to Native Go type from Thrift type.. break out the code to a function to be re-usable. (Should probably create a converter struct)\r\n\r\n* - Correctly convert prices in service.\r\n- Start RPC agent out of local directory.\r\n\r\n* Add missing addService() call.\r\n\r\n* Don't start RPC agent from Node.JS for now.\r\n\r\n* Add RPC-Agent per wrapper with port config\r\n\r\n* Added some further info to wrapper doc\r\n\r\n* Adding the MIT license file to the repo\r\n\r\nAgreed with Matt Saxon, and confirmed we are okay by Robin Mabley, if Matt Saxon is happy with this.\r\n\r\n* Refactor imports to include github.com instead of innovation.worldpay.com\r\n\r\n* Add Node.JS documentation\r\n\r\n* Added Conor's documentation on the binaries\r\n\r\n* Fixing links to github pages\r\n\r\n* Update README.md\r\n\r\n* Update broken links.\r\n\r\n* Add command to install all Go dependencies in one step.\r\n\r\n* Previously a timeout specifed as zero would only send one broadcast message then timeout. I.e. The timeout was interpreted as zero seconds but it should mean no timout. (#34)\r\n\r\nFixed: Now specifying a timout of zero means the broadcaster will run indefinitely.\r\n\r\n* Fix warning highlighted by `go fmt`. (#35)\r\n\r\n* Feature/node js bin launcher (#36)\r\n\r\n* Implement new launcher - initial commit.\r\n\r\n* Improve error handling in callbacks.\r\n\r\n* Typo - shouldn't return callback\r\n\r\n* Fix formatting of errors\r\n\r\n* Implement basic scanner and producer apps. (#37)\r\n\r\n* Fix remove input paramter in populate configuration function. (#38)\r\n\r\n* Patch/java bin launcher (#40)\r\n\r\n* Implement RPC Agent launcher in Java library.\r\n\r\n* Update sample consumer application to launch RPC agent.\r\n\r\n* print output streams up application exit.\r\n\r\n* Implement function to stop process in Launcher.\r\n\r\n* Patch/refactor configuration (#41)\r\n\r\n* Refactor configuration implementation.\r\n\r\n* Add convenience functions to Item.\r\n\r\n* Fix config usage in rpc-agent.\r\n\r\n* Added ability to start websocker logger via configuration file. Added WPWithin specific configuration struct in configuration package. (#42)\r\n\r\n* Change deafult config file to wpwconfig.json\r\n\r\n* Fix how Go reads text input (#49)\r\n\r\n* Feature/event callback thrift (#51)\r\n\r\n* Adding WPWithinCallback service to Thrift definition files with first two functions { Begin/End ServiceDelivery }\r\n\r\n* Initial commit - base sample producer app.\r\n\r\n* Implement callbacks to wrappers via RPC. Currnently supporting begin/end service delivery.\r\n\r\n* Implement callbacks in sample producer application with callbacks.\r\n\r\nConvert WPWithinGeneralException to RuntimeException (Unchecked).\r\n\r\nImplement a Thrift RPC server to allow the SDK Core to connect to to send events, implement a handler that applications can use to pickup events.\r\n\r\n* Add callback port config / parameter to RPC Agent.\r\n\r\n* Update app to include call to beginServiceDelivery.\r\n\r\n* Implement Node.JS RPC event listener.\r\n\r\n* Add config port to RPC Agent config.\r\n\r\n* Fix and fully implement event callbacks. + working in NodeJS.sample-consumer + Java.sample-producer-callbacks\r\n\r\n* Update java consumer to call begin/end service delivery correctly.\r\n\r\n* Add event handler to Go sample application and rename project folder. (#52)\r\n\r\n* - Add linebreak to print statements.\r\n- Add config file for sample-producer-callbacks application.\r\n\r\n* Add json config to Go sample producer with callbacks.\r\n\r\n* Ignore log files.\r\n\r\n* Patch/issues blast (#55)\r\n\r\n* (highlighted by go fmt) fix JSON declaration.\r\n\r\n* Issue #43 - Enforce unique price id when adding a price to service.\r\n\r\n* - Some fixes, cleanup\r\n- Some improvements in an effort work towards the tracking units consumed during service delivery (work in progress)\r\n\r\n* Set the delivery token key to be the PSP reference, a hack that allows us to find the order in OrderManager later - :/\r\n\r\n* - Work in progress - adding validation to Begin/End service delivery.\r\n- Update Thrift interface to return ServiceDeliveryToken for Begin/End ServiceDelivery.\r\n\r\n* Clean up and bug fixes:\r\n- Add updateOrder function to OrderManager as we can't directly update the orders in the manager as they are stored in non addressable map.\r\n- Updated thrift interface { Java, Node.JS }\r\n- Uncommented and removed some test code that was in there, Ooops :/\r\n- Implemented check when clients request to consume a number of units. Checks to see if the number is valid.\r\n\r\n* - Set correct number of units remaning in endServiceDelivery.\r\n- Sleep for 750ms when launching the RPC Agent in Node.JS to allow it time to start...\r\n\r\n* Feature/node js cleanup (#56)\r\n\r\n* ignore directory: rpc-agent-bin\r\n\r\n* - Clean up RPC launcher\r\n- Fix sample producer-callbacks\r\n- Added check for WPWBIN environment variable before using ./rpc-agent-bin\r\n- Added flags to launch command { callbackport, loglevels, logfile }\r\n\r\n* removing binaries.\r\n\r\n* Patch - unit check would error if the number of units available were requested. i.e. Removed the '='\r\n\r\n* Validate host when creating a new RPC Service instance. Should only listen on local interfaces.\r\n\r\n* Fix :: I was mistakenly passing the callbackport instead of the rpcport.\r\n\r\n* Feature/java cleanup (#63)\r\n\r\n* Update Java samples to work latest SDK and also consume the path to WPWBIN using environment variable.\r\n\r\n* no message\r\n\r\n* - This fixes #29 (#64)\r\n\r\n- Fix involved refactoring the Thrift interface (just a parameter name change), hence the large number of code changes.\r\n- Also some other minor tweaks around.\r\n\r\n* Fix ports. This closes #63 (#65)\r\n\r\n* Remove ClientUUID from code.. addresses issue #53 (#66)\r\n\r\n* Rename currentCode to currencyCode in Java. Fixes #27\r\n\r\n* Closes issue #61\r\n\r\n* Add scheme to ServiceMessage in SDK. That means adding it to Thrift, and also refactoring Java and Node.JS code to replace the hardcoded \"http://\" string with dynamic selection.\r\n\r\nClose #6\r\n\r\n* Add missing updates to \"scheme\" patch.\r\n\r\n* More updates around currentCode to currencyCode refactor.\r\n\r\n* Cleanup up client creation in WPWithin Node.JS library.\r\n\r\n* Tweak creation of WPWithin client.\r\n\r\n* Add currencyCode to TotalPriceResponse.\r\n\r\n* Feature/sdk core cleanup (#69)\r\n\r\n* Cleanup.\r\n\r\n* Cleanup\r\n\r\n* result of running `go fmt ./...` close #21\r\n\r\n* Updating TotalPriceResponse to include currencyCode as per issue #67 (#70)\r\n\r\n* Fix architecture link.\r\n\r\n* remove old config files.\r\n\r\n* - Provide more meaningful init message during WSLog init\r\n- Remove error return when when failed to write to websocket. No need to litter the console with errors just because the web browser hasn't been connected to logger.\r\n- Pass in external IPv4 address to WSLog\r\n\r\n* Add sample consumer written in Go.\r\n\r\n* Direct log output to STD out.\r\n\r\n* Feature/dotnet wrapper (#75)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Add readme notes.\r\n\r\n* Update documentation.\r\n\r\n* Documentation update.\r\n\r\n* Feature/dotnet wrapper (#77)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Doc update.\r\n\r\n* Delete configLoad package - old implementation.\r\n\r\n* Add flags.\r\n\r\n* Update Id field\r\n\r\n* Feature/python 2 7 wrapper (#82)\r\n\r\n* First commit Python 2.7 wrapper\r\n\r\n* Light documentation.\r\n\r\n* Feature/dotnet wrapper (#86)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Tidying up and documentation\r\n\r\n* Fixed bugs in env var references, now works!\r\n\r\n* Lots of comments and fixing up of attributes that should be immutable\r\n\r\n* Added comments and made hashcode attributes immutable\r\n\r\n* Removed CallbackTest (needs rewriting) and fixed search string for RPC agent startup confirmation (still not ideal)\r\n\r\n* Adding implementation to log events to MongoDB for analysis later on - implemented by Joe Drumgoole @ MongoDB. (#88)\r\n\r\nRefactored implementation to be inline with existing event handler and updated sample Go producer app with callbacks.\r\n\r\n* Feature/python wrapper (#87)\r\n\r\n* add python .gitignore\r\n\r\n* add python wrappers\r\n\r\n* Python Launcher and executables\r\n\r\n* Launcher mac mapping added\r\n\r\n* Launcher moved to lib folder. () added to Print functions\r\n\r\n* moved launcher.py main() WPWithin method\r\n\r\nadded docstrings and hard conventions to launcher\r\n\r\n* launcher.py moved, not deleted\r\n\r\n* arm architecture added to Launcher\r\n\r\n* add sample apps\r\n\r\ntypo in launcher\r\ndisambiguate runRPCAgent in wpwithin.py\r\n\r\n* launch RPG Agent for consumer as well\r\n\r\n* Seperate run.py for launcher test\r\n\r\n* Run.py includes kill example as well for launcher\r\n\r\n* add option to shutdown RPC agent from client\r\n\r\nsee if this makes sense later\r\n\r\n* update types\r\n\r\n* types used as properties in others declared first\r\n* use camelCasing consistently\r\n* rename type in HCECard cardType,\r\nto avoid conflict with language keyword\r\n\r\n* update wpwithin\r\n\r\n* add callbacks\r\n\r\n* implemented callback handler opt in createClient\r\n\r\n* raise ValueError on invalid input\r\n\r\n* fix late night typos\r\n\r\n* update sample apps\r\n\r\n* added necessary type converters\r\n\r\n* service prices should be dict\r\n\r\n* fix, used wrong thrift spec\r\n\r\n* bug fixes\r\n\r\n* Update RPC Agent binaries.\r\n\r\n* missing method in consumer_main\r\n\r\n* python3 wrapper working\r\n\r\nseveral bug fixes\r\ntested sample apps\r\ndeleted rpc binaries\r\n\r\n* Feature/pi led (#93)\r\n\r\n* Initial commit Pi demo.\r\n\r\n* Update for R, G, B LEDs\r\n\r\n* Basic formatting fixes.\r\n\r\n* Update for demo\r\n\r\n* updated to recognise windows as a valid os (#90)\r\n\r\n* Slight issue with how parsing and returning after a successful request. Also added some logging.\r\n\r\n* Dev client now set up for online.worldpay.com now (including device profile).\r\n\r\n* Update for wpo\r\n\r\n* Update Java library wrapper code\r\n\r\n* Updating example code\r\n\r\n* Fix error handling.\r\n\r\n* Fix/njs psp update (#104)\r\n\r\n* - Update wrapper library to include the new PSP confing map, which enables more flexible configuration.\r\n- Remove js namespace from thrift IDL files.\r\n\r\n* Fix version of library package and add gitignore to ignore “node_modules” folder.\r\n\r\n* Update sample apps to show new PSP Config stuff.\r\n\r\n* fix thrift types declaration order (#98)\r\n\r\nobjects that are properties of other object appear first,\r\nfixes issue with thrift for python\r\n\r\nchange all properties to camel case\r\n\r\n* Add begin service delivery call to dev-client auto consume.\r\n\r\n* Ignore build directory.\r\n\r\n* - Remove configuration file stuff\r\n- Clean up flag param stuff\r\n\r\n* Build script to build rpc-agent for supported platforms.\r\n\r\n* Feature/dotnet wrapper various bugfixes, refactoring and upgrade to Thrift 0.10.0 (#108)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Tidying up and documentation\r\n\r\n* Fixed bugs in env var references, now works!\r\n\r\n* Lots of comments and fixing up of attributes that should be immutable\r\n\r\n* Added comments and made hashcode attributes immutable\r\n\r\n* Removed CallbackTest (needs rewriting) and fixed search string for RPC agent startup confirmation (still not ideal)\r\n\r\n* Improved samples\r\n\r\n* Fixed bug causing RpcAgentPath config to be ignored and added some commentary\r\n\r\n* Added null parameter check to constructor!\r\n\r\n* Removed statics in test and ThriftTest base class as it wasn't helping\r\n\r\n* Code refactoring in to different namespaces\r\n\r\n* Upgraded to Thrift 0.10.0\r\n\r\n* Added function to obfuscate a HCE Card and also get a string representation of the HCE Card instance. Useful in logging.\r\n\r\n* Add debug log statement in WPWithinImpl.\r\n\r\n* Removing binaries from repo.\r\n\r\n* Add build script for dev-client.\r\n\r\n* Add version info flag to RPC-Agent\r\n\r\n* Add getVersionInfo() function and also log version info at application start.\r\n\r\n* - Application version info now shows platform info i.e. OS/Architecture\r\n- Build script now sets platform info\r\n\r\n* Remove MongoDB phone home for Hackathon event and also the generic event logger. Going forward, if we need to log events, we can add a Logrus hook that saves the events in JSON form to wherever we want.\r\n\r\n* Resolve issue:: WebSocket logger hook to print to log output not stdout. #106\r\n\r\n* Python wrapper2.7 (#109)\r\n\r\n* Adding better error message to let you know if the new log file is missing\r\n\r\n* Adding new config file to the wrapper so it doesn't barf :)\r\n\r\n* Trying to fix the thrift type def file for python\r\n\r\n* Attempt to fix the other thrift file\r\n\r\n* Fixing and updating new thrift generated files\r\n\r\n* Making change for psp to the wrapper\r\n\r\n* Easing through the changes and ClientUUID removal! Conor did it, blame him smiley\r\n\r\n* Fixed python 2.7 new psp func wrapper fully! and tested\r\n\r\n* This closes #95\r\n\r\n* remove wpwithin.jar from project folder.\r\n\r\n* Add null check for listener.\r\n\r\n* Initialise WPWithin with RPCAgentListener now.\r\n\r\n* Remove reference to clientUUID in Node.JS wrapper.\r\n\r\n* Launcher process waits 500ms before returning.\r\n\r\n* Remove unit test package. (#110)\r\n\r\n* Fix Pi LED Demo to build by adding PSP Config stuff and implement genericEvent in the handler.\r\n\r\n* Fix sample consumer to build - add PSPConfig.\r\n\r\n* Fix producer to build - add PSPConfig.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/354a790b16d1efba1ada7cd46023ce6273f2d672"},{"sha":"03cd435b05c8779bcb3bf0f40f178dbadb35c8a0","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Add Travis Ci badge for ‘master’ branch build status.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/03cd435b05c8779bcb3bf0f40f178dbadb35c8a0"},{"sha":"2eee2f50be9d38b9fa30e0f6ebc313ec735c8e7a","author":{"name":"Conor Hackett","email":"e5d196462ac5a54ec3bb2b8fa561e6405f14afa1@gmail.com"},"message":"Develop (#114)\n\n* Added HTTP client as a dependency for HTEClient so we can mock GET/POST requests\r\n\r\n* Refactored device discovery. ServiceScannerImpl no longer uses a goroutine internally, that is now up to the caller.\r\n\r\n* Abstracted UDP connectivity behind a Communicator / Connection set of interfaces. Works for Service Scanner now.\r\n\r\nNeed to implement for broadcaster now.\r\n\r\n* Fix broadcaster - minor bug - missing HTE and Port called as variable not function.\r\n\r\n* BugFix:: UDPCommunicator now returns the connection after connecting.\r\nBugFix:: UDPCommunicator parses the host as an IP instead of casting to []byte..\r\n\r\n* Updated BroadcasterImpl to use Communicator / Connection instead of Net.UDP.\r\n\r\n* Testing the types.Service struct.\r\n\r\n* implement start broadcast\r\n\r\n* Bug fix. Call to UrlPrefix missing parentheses.\r\n\r\n* Move HTE Client implementation to separate file.\r\n\r\n* Updated the readme file with some extra setup info\r\n\r\n* A few amendments again to the readme.txt\r\n\r\n* - Implemented getHTE() and getHTEServiceHandler() in core.factory\r\n- HTE newServiceHandler now takes in service handler instead of creating it.\r\n\r\n* Oops, this is related to last commit.\r\n\r\nAssign service handler from parameter instead of creating anew.\r\n\r\n* Added readme for Java\r\n\r\n* Remove redundant InitHTE call.\r\n\r\n* As a hack, i've needed to implement OrderExists in OrderManager. :(.\r\n\r\n* Added order manager tests.\r\n\r\n* Fixed formatting after crap copy/paste job.\r\n\r\n* Integrated a very simple config file based on Lauras code\r\n\r\n* Remaining files for config changes inserted\r\n\r\n* Added details of log file to the REAME.md file\r\n\r\n* Added details of log file to the REAME.md file take 2\r\n\r\n* Added details of log file to the REAME.md file take 3\r\n\r\n* Added details of log file to the REAME.md file take 4\r\n\r\n* Update README.md\r\n\r\nUpdate README.md\r\n\r\n* Update README.md\r\n\r\nUpdate README.md\r\n\r\n* remove hte credential setup from car wash consumer, refactor keys into consts\r\n\r\n* Put back HTE cred setup in cashwashconsumer, remove unecessary call\r\n\r\n* Refactor pricePerUnit in Price to be a struct and contain both the actual amount and the currency that the amount represents.\r\n\r\n* Fix:: Correctly implement the payment flow by tokenising payment credentials using clearwater client key as received from producer thing. Not from code. Refactored demo code to reflect this.\r\n\r\n* - Implement composite ServiceDeliveryToken. i.e. Instead of consisting of a simple string, there is now extra data such as issue/expiry time and a signature.\r\n- Add function to formation a time object as an ISO8601 compliant string.\r\n- Updated thrift definition to include the new composite ServiceDeliveryToken type.\r\n\r\n* Re-enabled the map<i32, Price> member variable of the Service struct in Thrift definition.\r\nUpdating java wrapper code and also adding a hack fix into the Go code to see if it fixed the map<int, struct> issue.\r\n\r\n* Update online.worldpay.com API keys.\r\n\r\n* KG - First attept at building the interactive dev app menu structure\r\n\r\n* - Updated HTE HTTP Client to return return a third value, int, which is HTTPStatusCode of response.\r\n- Added online.worldpay.com HTTP Status codes.\r\n- Added improved error checking for online.worldpay.com implementation.\r\n- Added error response struct to represent errors returned from online.worldpay.com\r\n- Added some extra fields to WPWithin error response, as used by HTE REST API.\r\n\r\n* When adding a service, check that the service being added does not exist already (based on id).\r\n\r\n* Remove ServiceID Field from Price struct.\r\n\r\n* Thrift refactor - remove ServiceID field from Price struct.\r\n\r\n* Building the consumer and producer test flows, think there's something gone wrong with the thrift generated code\r\n\r\n* Update Thrift generate Java code.\r\n\r\n* Updating Java WPWithin wrapper to reflect new thrift definition.\r\n\r\n* Thrift wrapper generated and basic unit test to send a message\r\n\r\n* Added basic wrappers for each Thrift data type\r\n\r\n* More skeleton code\r\n\r\n* Finished getting the rest of the menu working\r\n\r\n* Refactored the Menu code to make common methods common to a parent class...\r\n\r\n* Fixed the multiple log files issue\r\n\r\n* something strange is going on with the Prices data structure, it can't be read back after being set\r\n\r\n* C# Type wrappers with adapters for Thrift generated code implementation plus changed CSharp Thrift package\r\n\r\n* Ignore the .DS_Store files\r\n\r\n* Set log output to file.\r\n\r\n* Append log file.\r\n\r\n* Add minor fixes + default config file.\r\n\r\n* add new error handler using go routines\r\nchange logging to output to file\r\nremove some unessential menu items - will review later\r\n\r\n* Feature/thrift update (#5)\r\n\r\n* Change thrift interface and refactor code elsewhere to allow build:\r\n- Merge initHTE/initHCE into initProducer/initConsumer functions.\r\n- Rename serviceDiscovery function into deviceDiscovery.\r\n- Add beginServiceDelivery and endServiceDelivery functions.\r\n\r\n* Stub delivery functions.\r\n\r\n* Code cleanup as a result of running `go fmt`.\r\n\r\n* Add panic recovery and log statement.\r\n\r\n* Add stack trace to panic recovery log statement.\r\n\r\n* Print stack trace to console upon panic\r\n\r\n* Finished adding all basic classes and adapters, no testing done yet\r\n\r\n* Put currencyCode in quotes in JSON declaration.\r\n\r\n* Remove currencyCode from Device - it is redundant.\r\n\r\n* Implement handler callback ability within the SDK.\r\n\r\n* Created unit test framework for tests requiring the Thrift RPC Agent to be active\r\n\r\n* Test framework completion\r\n\r\n* Updated thrift definitions to include a new service \"WPWithinCallback\" allowing the SDK to call directly into the calling application.\r\n\r\n* Remove redundant CallbackClient interface and map event handling using the \"event.Handler\" interface.\r\n\r\n* BugFix\r\n\r\n* Patch, correct fix outstanding. Don't defer close the client connection.\r\n\r\n* Error checking and implement callback functionality.\r\nAlso added a function ParseISOTime() which converts a string to time.Time object.\r\n\r\n* refactor dev client so that no longer returns exit code\r\nmove errors and defaults into new packages\r\nload profile functionality\r\n\r\n* remove unimplemented method call\r\n\r\n* Update Java code to support WPWithin callback via Thrift.\r\n\r\n* add auto consume functionality\r\nremove unused funcs\r\nremove unused config items in device profile\r\n\r\n* Add mock PSP.\r\n\r\n* Add JS namespaces.\r\n\r\n* Initial commit\r\n\r\n* code tidy\r\n\r\n* code tidy\r\n\r\n* code tidy + move error into errors package\r\n\r\n* fix: don't join working dir when reading profile\r\n\r\n* Implement wrapper\r\n\r\n* Minor change.\r\n\r\n* Initial commit of SDK types and type converter for to/from thrift.\r\n\r\n* Add main.js containing some sample code.\r\n\r\n* Add JS namespace\r\n\r\n* Feature/dev client menu items (#19)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Implement RPC start mechanism.\r\n\r\n* Ignore uuid.txt\r\n\r\n* add new error handler using go routines\r\nchange logging to output to file\r\nremove some unessential menu items - will review later\r\n\r\n* Finished adding all basic classes and adapters, no testing done yet\r\n\r\n* Put currencyCode in quotes in JSON declaration.\r\n\r\n* Remove currencyCode from Device - it is redundant.\r\n\r\n* Created unit test framework for tests requiring the Thrift RPC Agent to be active\r\n\r\n* Test framework completion\r\n\r\n* refactor dev client so that no longer returns exit code\r\nmove errors and defaults into new packages\r\nload profile functionality\r\n\r\n* remove unimplemented method call\r\n\r\n* add auto consume functionality\r\nremove unused funcs\r\nremove unused config items in device profile\r\n\r\n* code tidy\r\n\r\n* code tidy\r\n\r\n* code tidy + move error into errors package\r\n\r\n* fix: don't join working dir when reading profile\r\n\r\n* Feature/dev client menu items (#19)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Ignore uuid.txt\r\n\r\n* some work on go fmt refactor.\r\n\r\n* Remove HTML and use markdown instead.\r\n\r\n* Clean up next steps. Add outstanding to Github as issues and remove completed items.\r\n\r\n* Broke the build and fixing now - Oops :/\r\n\r\n* First draft of RPC readme.\r\n\r\n* Add rpc-agent readme\r\n\r\n* Remove .gitignore uuid directive exists at higher level now.\r\n\r\n* Remove .gitignore as uuid directive exists at higher level.\r\n\r\n* Feature/dev client menu items (#25)\r\n\r\n* remove defaults from dev-client (user should use profile config now instead)\r\ncode tidy - remove commented code\r\n\r\n* add test profiles\r\n\r\n* add readme info\r\nrename consts to camel case\r\nmove packages to one package 'types'\r\n\r\n* remove websocket logger\r\n\r\n* use lists for readme items\r\n\r\n* fix readme\r\n\r\n* add to dev client readme\r\n\r\n* Feature/java wrapper (#28)\r\n\r\n* KG first check in of the new Java wrapper for the Worldpay Within SDK\r\n\r\n* Fixed a bug where one of the Thrift rpc types was getting through the interface...\r\n\r\n* Added javadoc comments to the Wrapper interface\r\n\r\n* Fix readme filename\r\n\r\n* First commit consumer-sample java project. Include .gitignore.\r\n\r\n* Clean up wrapper implementation file and move converter functions to ThriftAdapter package.\r\n\r\n* Add sample consumer application.\r\n\r\n* Print out service and price info\r\n\r\n* Sample producer first commit. Including .gitignore\r\n\r\n* Including sample producer code and dependencies.\r\n\r\n* Update readme\r\n\r\n* - Move wrapper code into libary folder.\r\n- Create example consumer.\r\n\r\n* Fix startRPC() function and also add sample producer application.\r\nAlso convert nested prices in server converter.\r\n\r\n* Fix fields during conversion\r\n\r\n* Clean up converter.\r\n\r\n* Add missing logfile assign\r\n\r\n* Result of `go fmt`\r\n\r\n* Update readme for RPC - remove reference to NodeJS wrapper branch\r\n\r\n* Updated main README\r\n\r\n3) How to use this SDK, needs developing further in more detail on the git home page, including fixing package names for the GO SDK source\r\n\r\n* Updated links to full documentation\r\n\r\nUsing markdown\r\n\r\n* Added formatting to the documentation\r\n\r\n* Formatting changes still...\r\n\r\n* Updated an alternative way of running rpc-agent\r\n\r\n* Added code markup to code or commands\r\n\r\n* Updated details on running the  rpc-agent\r\n\r\nUpdated details on running the  rpc-agent, logging, and config\r\n\r\n* Trying to fix formatting\r\n\r\n* Tweaking formatting\r\n\r\n* Sorted out formatting of log file etc\r\n\r\n* Created a readme file for the sdkcore\r\n\r\n* Update README.md\r\n\r\n* first draft of the readme file\r\n\r\n* Added detailed instructions on running the app\r\n\r\nRunning the app and interoperability with the wrapper example apps\r\n\r\n* Include prices when converting service to Native Go type from Thrift type.. break out the code to a function to be re-usable. (Should probably create a converter struct)\r\n\r\n* - Correctly convert prices in service.\r\n- Start RPC agent out of local directory.\r\n\r\n* Add missing addService() call.\r\n\r\n* Don't start RPC agent from Node.JS for now.\r\n\r\n* Add RPC-Agent per wrapper with port config\r\n\r\n* Added some further info to wrapper doc\r\n\r\n* Adding the MIT license file to the repo\r\n\r\nAgreed with Matt Saxon, and confirmed we are okay by Robin Mabley, if Matt Saxon is happy with this.\r\n\r\n* Refactor imports to include github.com instead of innovation.worldpay.com\r\n\r\n* Add Node.JS documentation\r\n\r\n* Added Conor's documentation on the binaries\r\n\r\n* Fixing links to github pages\r\n\r\n* Update README.md\r\n\r\n* Update broken links.\r\n\r\n* Add command to install all Go dependencies in one step.\r\n\r\n* Previously a timeout specifed as zero would only send one broadcast message then timeout. I.e. The timeout was interpreted as zero seconds but it should mean no timout. (#34)\r\n\r\nFixed: Now specifying a timout of zero means the broadcaster will run indefinitely.\r\n\r\n* Fix warning highlighted by `go fmt`. (#35)\r\n\r\n* Feature/node js bin launcher (#36)\r\n\r\n* Implement new launcher - initial commit.\r\n\r\n* Improve error handling in callbacks.\r\n\r\n* Typo - shouldn't return callback\r\n\r\n* Fix formatting of errors\r\n\r\n* Implement basic scanner and producer apps. (#37)\r\n\r\n* Fix remove input paramter in populate configuration function. (#38)\r\n\r\n* Patch/java bin launcher (#40)\r\n\r\n* Implement RPC Agent launcher in Java library.\r\n\r\n* Update sample consumer application to launch RPC agent.\r\n\r\n* print output streams up application exit.\r\n\r\n* Implement function to stop process in Launcher.\r\n\r\n* Patch/refactor configuration (#41)\r\n\r\n* Refactor configuration implementation.\r\n\r\n* Add convenience functions to Item.\r\n\r\n* Fix config usage in rpc-agent.\r\n\r\n* Added ability to start websocker logger via configuration file. Added WPWithin specific configuration struct in configuration package. (#42)\r\n\r\n* Change deafult config file to wpwconfig.json\r\n\r\n* Fix how Go reads text input (#49)\r\n\r\n* Feature/event callback thrift (#51)\r\n\r\n* Adding WPWithinCallback service to Thrift definition files with first two functions { Begin/End ServiceDelivery }\r\n\r\n* Initial commit - base sample producer app.\r\n\r\n* Implement callbacks to wrappers via RPC. Currnently supporting begin/end service delivery.\r\n\r\n* Implement callbacks in sample producer application with callbacks.\r\n\r\nConvert WPWithinGeneralException to RuntimeException (Unchecked).\r\n\r\nImplement a Thrift RPC server to allow the SDK Core to connect to to send events, implement a handler that applications can use to pickup events.\r\n\r\n* Add callback port config / parameter to RPC Agent.\r\n\r\n* Update app to include call to beginServiceDelivery.\r\n\r\n* Implement Node.JS RPC event listener.\r\n\r\n* Add config port to RPC Agent config.\r\n\r\n* Fix and fully implement event callbacks. + working in NodeJS.sample-consumer + Java.sample-producer-callbacks\r\n\r\n* Update java consumer to call begin/end service delivery correctly.\r\n\r\n* Add event handler to Go sample application and rename project folder. (#52)\r\n\r\n* - Add linebreak to print statements.\r\n- Add config file for sample-producer-callbacks application.\r\n\r\n* Add json config to Go sample producer with callbacks.\r\n\r\n* Ignore log files.\r\n\r\n* Patch/issues blast (#55)\r\n\r\n* (highlighted by go fmt) fix JSON declaration.\r\n\r\n* Issue #43 - Enforce unique price id when adding a price to service.\r\n\r\n* - Some fixes, cleanup\r\n- Some improvements in an effort work towards the tracking units consumed during service delivery (work in progress)\r\n\r\n* Set the delivery token key to be the PSP reference, a hack that allows us to find the order in OrderManager later - :/\r\n\r\n* - Work in progress - adding validation to Begin/End service delivery.\r\n- Update Thrift interface to return ServiceDeliveryToken for Begin/End ServiceDelivery.\r\n\r\n* Clean up and bug fixes:\r\n- Add updateOrder function to OrderManager as we can't directly update the orders in the manager as they are stored in non addressable map.\r\n- Updated thrift interface { Java, Node.JS }\r\n- Uncommented and removed some test code that was in there, Ooops :/\r\n- Implemented check when clients request to consume a number of units. Checks to see if the number is valid.\r\n\r\n* - Set correct number of units remaning in endServiceDelivery.\r\n- Sleep for 750ms when launching the RPC Agent in Node.JS to allow it time to start...\r\n\r\n* Feature/node js cleanup (#56)\r\n\r\n* ignore directory: rpc-agent-bin\r\n\r\n* - Clean up RPC launcher\r\n- Fix sample producer-callbacks\r\n- Added check for WPWBIN environment variable before using ./rpc-agent-bin\r\n- Added flags to launch command { callbackport, loglevels, logfile }\r\n\r\n* removing binaries.\r\n\r\n* Patch - unit check would error if the number of units available were requested. i.e. Removed the '='\r\n\r\n* Validate host when creating a new RPC Service instance. Should only listen on local interfaces.\r\n\r\n* Fix :: I was mistakenly passing the callbackport instead of the rpcport.\r\n\r\n* Feature/java cleanup (#63)\r\n\r\n* Update Java samples to work latest SDK and also consume the path to WPWBIN using environment variable.\r\n\r\n* no message\r\n\r\n* - This fixes #29 (#64)\r\n\r\n- Fix involved refactoring the Thrift interface (just a parameter name change), hence the large number of code changes.\r\n- Also some other minor tweaks around.\r\n\r\n* Fix ports. This closes #63 (#65)\r\n\r\n* Remove ClientUUID from code.. addresses issue #53 (#66)\r\n\r\n* Rename currentCode to currencyCode in Java. Fixes #27\r\n\r\n* Closes issue #61\r\n\r\n* Add scheme to ServiceMessage in SDK. That means adding it to Thrift, and also refactoring Java and Node.JS code to replace the hardcoded \"http://\" string with dynamic selection.\r\n\r\nClose #6\r\n\r\n* Add missing updates to \"scheme\" patch.\r\n\r\n* More updates around currentCode to currencyCode refactor.\r\n\r\n* Cleanup up client creation in WPWithin Node.JS library.\r\n\r\n* Tweak creation of WPWithin client.\r\n\r\n* Add currencyCode to TotalPriceResponse.\r\n\r\n* Feature/sdk core cleanup (#69)\r\n\r\n* Cleanup.\r\n\r\n* Cleanup\r\n\r\n* result of running `go fmt ./...` close #21\r\n\r\n* Updating TotalPriceResponse to include currencyCode as per issue #67 (#70)\r\n\r\n* Fix architecture link.\r\n\r\n* remove old config files.\r\n\r\n* - Provide more meaningful init message during WSLog init\r\n- Remove error return when when failed to write to websocket. No need to litter the console with errors just because the web browser hasn't been connected to logger.\r\n- Pass in external IPv4 address to WSLog\r\n\r\n* Add sample consumer written in Go.\r\n\r\n* Direct log output to STD out.\r\n\r\n* Feature/dotnet wrapper (#75)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Add readme notes.\r\n\r\n* Update documentation.\r\n\r\n* Documentation update.\r\n\r\n* Feature/dotnet wrapper (#77)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Doc update.\r\n\r\n* Delete configLoad package - old implementation.\r\n\r\n* Add flags.\r\n\r\n* Update Id field\r\n\r\n* Feature/python 2 7 wrapper (#82)\r\n\r\n* First commit Python 2.7 wrapper\r\n\r\n* Light documentation.\r\n\r\n* Feature/dotnet wrapper (#86)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Tidying up and documentation\r\n\r\n* Fixed bugs in env var references, now works!\r\n\r\n* Lots of comments and fixing up of attributes that should be immutable\r\n\r\n* Added comments and made hashcode attributes immutable\r\n\r\n* Removed CallbackTest (needs rewriting) and fixed search string for RPC agent startup confirmation (still not ideal)\r\n\r\n* Adding implementation to log events to MongoDB for analysis later on - implemented by Joe Drumgoole @ MongoDB. (#88)\r\n\r\nRefactored implementation to be inline with existing event handler and updated sample Go producer app with callbacks.\r\n\r\n* Feature/python wrapper (#87)\r\n\r\n* add python .gitignore\r\n\r\n* add python wrappers\r\n\r\n* Python Launcher and executables\r\n\r\n* Launcher mac mapping added\r\n\r\n* Launcher moved to lib folder. () added to Print functions\r\n\r\n* moved launcher.py main() WPWithin method\r\n\r\nadded docstrings and hard conventions to launcher\r\n\r\n* launcher.py moved, not deleted\r\n\r\n* arm architecture added to Launcher\r\n\r\n* add sample apps\r\n\r\ntypo in launcher\r\ndisambiguate runRPCAgent in wpwithin.py\r\n\r\n* launch RPG Agent for consumer as well\r\n\r\n* Seperate run.py for launcher test\r\n\r\n* Run.py includes kill example as well for launcher\r\n\r\n* add option to shutdown RPC agent from client\r\n\r\nsee if this makes sense later\r\n\r\n* update types\r\n\r\n* types used as properties in others declared first\r\n* use camelCasing consistently\r\n* rename type in HCECard cardType,\r\nto avoid conflict with language keyword\r\n\r\n* update wpwithin\r\n\r\n* add callbacks\r\n\r\n* implemented callback handler opt in createClient\r\n\r\n* raise ValueError on invalid input\r\n\r\n* fix late night typos\r\n\r\n* update sample apps\r\n\r\n* added necessary type converters\r\n\r\n* service prices should be dict\r\n\r\n* fix, used wrong thrift spec\r\n\r\n* bug fixes\r\n\r\n* Update RPC Agent binaries.\r\n\r\n* missing method in consumer_main\r\n\r\n* python3 wrapper working\r\n\r\nseveral bug fixes\r\ntested sample apps\r\ndeleted rpc binaries\r\n\r\n* Feature/pi led (#93)\r\n\r\n* Initial commit Pi demo.\r\n\r\n* Update for R, G, B LEDs\r\n\r\n* Basic formatting fixes.\r\n\r\n* Update for demo\r\n\r\n* updated to recognise windows as a valid os (#90)\r\n\r\n* Slight issue with how parsing and returning after a successful request. Also added some logging.\r\n\r\n* Dev client now set up for online.worldpay.com now (including device profile).\r\n\r\n* Update for wpo\r\n\r\n* Update Java library wrapper code\r\n\r\n* Updating example code\r\n\r\n* Fix error handling.\r\n\r\n* Fix/njs psp update (#104)\r\n\r\n* - Update wrapper library to include the new PSP confing map, which enables more flexible configuration.\r\n- Remove js namespace from thrift IDL files.\r\n\r\n* Fix version of library package and add gitignore to ignore “node_modules” folder.\r\n\r\n* Update sample apps to show new PSP Config stuff.\r\n\r\n* fix thrift types declaration order (#98)\r\n\r\nobjects that are properties of other object appear first,\r\nfixes issue with thrift for python\r\n\r\nchange all properties to camel case\r\n\r\n* Add begin service delivery call to dev-client auto consume.\r\n\r\n* Ignore build directory.\r\n\r\n* - Remove configuration file stuff\r\n- Clean up flag param stuff\r\n\r\n* Build script to build rpc-agent for supported platforms.\r\n\r\n* Feature/dotnet wrapper various bugfixes, refactoring and upgrade to Thrift 0.10.0 (#108)\r\n\r\n* Stopped git trying to checkout in the output log file\r\n\r\n* Added Ctrl-C termination for managing the RPC agent\r\n\r\n* Added help generation and skeleton of sample app\r\n\r\n* Fixes #46 and #45, small progress on sample app\r\n\r\n* Improved adapters and made them internal (not subject to API doc generation)\r\n\r\n* First implementation of callbacks (as yet untested)\r\n\r\n* Sample producer now working (disabled Ctrl-C handler as buggy with console apps)\r\n\r\n* Added simple consumer\r\n\r\n* Sample Simple Producer and Consumers both working\r\n\r\n* Refactored RPC agent configuration, fixed sample so callbacks are used successfully\r\n\r\n* Tidying up and documentation\r\n\r\n* Fixed bugs in env var references, now works!\r\n\r\n* Lots of comments and fixing up of attributes that should be immutable\r\n\r\n* Added comments and made hashcode attributes immutable\r\n\r\n* Removed CallbackTest (needs rewriting) and fixed search string for RPC agent startup confirmation (still not ideal)\r\n\r\n* Improved samples\r\n\r\n* Fixed bug causing RpcAgentPath config to be ignored and added some commentary\r\n\r\n* Added null parameter check to constructor!\r\n\r\n* Removed statics in test and ThriftTest base class as it wasn't helping\r\n\r\n* Code refactoring in to different namespaces\r\n\r\n* Upgraded to Thrift 0.10.0\r\n\r\n* Added function to obfuscate a HCE Card and also get a string representation of the HCE Card instance. Useful in logging.\r\n\r\n* Add debug log statement in WPWithinImpl.\r\n\r\n* Removing binaries from repo.\r\n\r\n* Add build script for dev-client.\r\n\r\n* Add version info flag to RPC-Agent\r\n\r\n* Add getVersionInfo() function and also log version info at application start.\r\n\r\n* - Application version info now shows platform info i.e. OS/Architecture\r\n- Build script now sets platform info\r\n\r\n* Remove MongoDB phone home for Hackathon event and also the generic event logger. Going forward, if we need to log events, we can add a Logrus hook that saves the events in JSON form to wherever we want.\r\n\r\n* Resolve issue:: WebSocket logger hook to print to log output not stdout. #106\r\n\r\n* Python wrapper2.7 (#109)\r\n\r\n* Adding better error message to let you know if the new log file is missing\r\n\r\n* Adding new config file to the wrapper so it doesn't barf :)\r\n\r\n* Trying to fix the thrift type def file for python\r\n\r\n* Attempt to fix the other thrift file\r\n\r\n* Fixing and updating new thrift generated files\r\n\r\n* Making change for psp to the wrapper\r\n\r\n* Easing through the changes and ClientUUID removal! Conor did it, blame him smiley\r\n\r\n* Fixed python 2.7 new psp func wrapper fully! and tested\r\n\r\n* This closes #95\r\n\r\n* remove wpwithin.jar from project folder.\r\n\r\n* Add null check for listener.\r\n\r\n* Initialise WPWithin with RPCAgentListener now.\r\n\r\n* Remove reference to clientUUID in Node.JS wrapper.\r\n\r\n* Launcher process waits 500ms before returning.\r\n\r\n* Remove unit test package. (#110)\r\n\r\n* Fix Pi LED Demo to build by adding PSP Config stuff and implement genericEvent in the handler.\r\n\r\n* Fix sample consumer to build - add PSPConfig.\r\n\r\n* Fix producer to build - add PSPConfig.\r\n\r\n* Add Travis Ci badge for ‘master’ branch build status.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/2eee2f50be9d38b9fa30e0f6ebc313ec735c8e7a"},{"sha":"154c9fc2b0f86597926fb76c1175500bbdbc6a01","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Fix windows 64 bit binary name - thanks Andy B.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/154c9fc2b0f86597926fb76c1175500bbdbc6a01"},{"sha":"9278995dcc58e9fa05c31aee1c30f9fe22734026","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Log the fact that an error failed, don’t just return an ambiguous error!","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/9278995dcc58e9fa05c31aee1c30f9fe22734026"},{"sha":"66a31ca113d73a92e096c4433c7b52688c2afcde","author":{"name":"Conor Hackett","email":"8c6ac76732d67684bcc1b33c654e0eec8f8fc642@worldpay.com"},"message":"Fix error formatting.","distinct":false,"url":"https://api.github.com/repos/WPTechInnovation/worldpay-within-sdk/commits/66a31ca113d73a92e096c4433c7b52688c2afcde"}]}
{"actor":{"display_login":"andybrodie"}}