Sha256: 58e4df30df9c9accf0fcee22d92a198c3641ac2602e45993eae5fc6aefcc5a93
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
Glowworm's wire protocol is intentionally very simple, and carried via HTTP requests. Some goals, in order of importance: * Simplicity, in order to achieve high Reliability and Availability * Readability and Debuggability * Not too unreasonably high bandwidth A given request will be a read of a set of accounts and a set of features. Usually, that is one of: * One feature for one account * One feature for all accounts * All features for one account * All features for all accounts A request will return data in the following form: * What account_sets the given account(s) are part of * The setting of each feature for each account_set * A list of override flags for specific account/feature combinations That data is serialized as JSON, in the following form: { "version": 1, "account_sets": { "13742": 1, // account 13742 is part of account_set 1 "19244": [7,8], // account 19244 is part of account_sets 7 and 8 //... }, "features": { "turn_foo_widget_orange": [1, 2, 3, 4, 6, 7, 8], // account_sets for which this feature is active by default //... }, "overrides": [ "turn_foo_widget_orange": {"19244": false, "742": true}, //... ] }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
glowworm-0.3.0 | server/PROTOCOL |