agent/plugins/downloadcontent/gitresource/github/privategithub/githubclient/oauthclient.go (17 lines of code) (raw):

// Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may not // use this file except in compliance with the License. A copy of the // License is located at // // http://aws.amazon.com/apache2.0/ // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or // implied. See the License for the specific language governing // permissions and limitations under the License. // Package githubclient contains methods for interacting with git package githubclient import ( "net/http" gitcontext "golang.org/x/net/context" "golang.org/x/oauth2" ) // OAuthClient is a wrapper around github.Client. This is done for mocking type OAuthClient struct{} // IOAuthClient is an interface for oauth access of Github type IOAuthClient interface { GetGithubOauthClient(token string) *http.Client } // GetGithubOauthClient returns the http client using oauth access tokens // implementation of this has been taken from https://github.com/google/go-github#authentication func (git OAuthClient) GetGithubOauthClient(token string) *http.Client { ctx := gitcontext.Background() ts := oauth2.StaticTokenSource( &oauth2.Token{AccessToken: token}, ) return oauth2.NewClient(ctx, ts) }