Commit Graph

17 Commits

Author SHA1 Message Date
Michael Marineau 9ed95f2e49 protocol: fix data type for event errorcode, should be an int 2017-06-09 18:40:25 -07:00
Michael Marineau afab572db3 protocol: change IsMachine flag to int
This flag is a boolean "0" or "1", with "0" as the default so keeping
the "omitempty" xml option is ok.
2017-05-25 13:13:10 -07:00
Michael Marineau d8ad567e7f protocol: add GetApp helper methods 2017-05-25 13:13:09 -07:00
Michael Marineau 036aedf2d7 protocol: remove stray Event type
The Event struct was split into EventRequest and EventResponse back in
75a1125f but the older now unused type was never deleted.
2017-05-05 11:53:52 -07:00
Michael Marineau a6290c1b4f protocol: add ParseRequest and ParseResponse functions
For parsing and verification of of HTTP request and response bodies,
including optional checking the Content-Type field which the handler
previously didn't do.
2017-05-04 13:25:46 -07:00
Michael Marineau 6198ba9443 protocol: style fix, use "ID" and "SHA" in identifiers. 2017-05-04 13:22:27 -07:00
Michael Marineau 79e582819b protocol: sort xml attributes
A cosmetic change, though this will change the order in the XML output.
The spec lists fields alphabetically so this makes comparison easier.
2017-05-02 13:07:53 -07:00
Michael Marineau 9a796427d5 omaha: distinguish zero and unset in ping active days field
Unlike the other fields unset here would mean unknown rather than "0" so
we must distinguish between the two. In the end it isn't very
significant since our update server and none of our clients use these
self-reported active times, exclusively using when pings were received.
2017-04-24 13:05:53 -07:00
Michael Marineau c7d81825c4 omaha: remove lingering references to mantle 2017-04-24 12:23:53 -07:00
Michael Marineau 4b95d8178b omaha: update upstream doc URL 2017-04-24 12:04:41 -07:00
Michael Marineau 5543f86194 omaha: add helper method for computing package metadata 2017-04-21 14:12:44 -07:00
Michael Marineau f208691b12 omaha: stop wrapping URL slice in a struct
Since splitting request and response structs it is no longer necessary
to work around Go's awkard handling of a `xml:"urls>url"` tag.
2017-04-21 14:12:44 -07:00
Michael Marineau a3bc668225 omaha: add/fix missing or outdated attributes 2017-04-21 14:12:44 -07:00
Michael Marineau 75a1125f53 omaha: split request and response structures
Despite having common names between the request and response XML
structures the actual values which may appear in them are completely
disjoint. Splitting the types up makes the protocol easier to understand
when reading the code. When applicable, required fields like status are
passed to Add* methods.
2017-04-21 14:12:44 -07:00
Michael Marineau ec70842bdd omaha: rework/cleanup protocol APIs
- Avoid long argument lists and only pass values that are strictly
   required such as status, fill in all other fields directly instead.
 - Fill OS struct in requests based on local system.
 - Define event and status codes as constants.
 - Misc style tweaks.
2017-04-21 14:12:44 -07:00
Michael Marineau fef283aeb6 omaha: remove XMLName from nested structures
The special XMLName field is only useful in the top level structs which
need something to attach the lower case tag to. On the rest the default
behavior without XMLName works just fine so it is clutter.

The datastore tags have been dropped too since they are not needed.
2017-04-21 14:12:44 -07:00
Michael Marineau 8650026537 omaha: update file header style and file names 2017-04-21 14:12:44 -07:00