This allows use to provide convenience methods for accessing the
paginations links that are returned in HTTP Link headers. To expose
that, we'll need to return the Response from all API methods, which will
also allow users of the client to do any other kind of inspection of the
response. This adds additional complexity to the API and will be a
breaking change, but seems to be the cleanest way to enable this sort of
thing.
Refs #22
This was done so that timestamp_test.go would have a corresponding file that
could easily be found. It did not make sense to move timestamp_test.go into
github_test.go if we are trying to move to a more specific source structure.
Repository service:
ListLanguages : Allows a user to list the languages for a repository
Activity service:
ListStarred : Allows a user to list the starred repositories for a user
This provides the structs needed to unmarshal the "old-style" post
receive hooks that are sent for push events. Because the formats
differ in sometimes subtle ways from the rest of the API, some types are
duplicated. I suspect we may also need to duplicate the Repository
type at some point, since there are some differences there as well. For
now this is just using the normal Repository type.
Thanks to both @wlynch92 and @imjasonh who kept pushing on this and
provided the original patches that this is based on.
Added a timestamp struct to handle different incoming time formats from
GitHub. Only modified the repo struct to reflect this new time struct
for now since it is currently the only location I am currently aware of
where this is an issue.
Issue: #1
The main purpose of adding this (aside from simply implementing the full
GitHub API) is to establish the basic Commit type, so that we can build
around it for things like Events (see #4) and WebHooks (see #20).
- complete the rename from TreesService to GitService. For example,
renaming Get to GetTree, and Create to CreateTree.
- rename GitTree to TreeEntry. I really have no idea why GitHub chose
to use the field name "tree" for this, since these aren't necessarily
trees in the git sense. Looking at it more closely, these are really
just the entries within a tree, hence the rename.
- simplify several tests and shuffle some things for consistency with
the rest of the library
Because the reset date is expressed as a Unix timestamp (rather than an
ISO 8601 timstamp), we can't directly unmarshal the JSON response.
Instead we have to do a little weird indirection to unmarshal it as an
int first, and then convert it into a proper Time object.
Since the library has received external contributions, Google is no
longer the sole copyright holder. Update the boilerplate at the top of
each file to reflect that, and add AUTHORS and CONTRIBUTORS files to
track this information.