@@ -5,12 +5,14 @@ use crate::{Comment, DEFAULT_GITHUB_API_URL, GitHubApi, GithubError};
55use jsonwebtoken:: { Algorithm , EncodingKey , Header } ;
66
77use log:: info;
8- use reqwest:: header:: { ACCEPT , AUTHORIZATION } ;
8+ use reqwest:: header:: { ACCEPT , AUTHORIZATION , USER_AGENT } ;
99use serde:: { Deserialize , Serialize } ;
1010use serde_json:: Value ;
1111use std:: time:: Duration ;
1212use std:: time:: { SystemTime , UNIX_EPOCH } ;
1313
14+ pub ( crate ) const SQUAWK_USER_AGENT : & str = "squawk/2.25.0" ;
15+
1416#[ derive( Debug , Serialize ) ]
1517struct CommentBody {
1618 pub body : String ,
@@ -43,6 +45,7 @@ fn create_access_token(
4345 ) )
4446 . header ( AUTHORIZATION , format ! ( "Bearer {jwt}" ) )
4547 . header ( ACCEPT , "application/vnd.github.machine-man-preview+json" )
48+ . header ( USER_AGENT , SQUAWK_USER_AGENT )
4649 . send ( ) ?
4750 . error_for_status ( ) ?
4851 . json :: < GithubAccessToken > ( ) ?)
@@ -70,6 +73,7 @@ pub(crate) fn create_comment(
7073 issue_number = comment. issue
7174 ) )
7275 . header ( AUTHORIZATION , format ! ( "Bearer {secret}" ) )
76+ . header ( USER_AGENT , SQUAWK_USER_AGENT )
7377 . json ( & comment_body)
7478 . send ( ) ?
7579 . error_for_status ( ) ?;
@@ -87,6 +91,7 @@ pub fn get_app_info(github_api_url: &str, jwt: &str) -> Result<GitHubAppInfo, Gi
8791 Ok ( reqwest:: blocking:: Client :: new ( )
8892 . get ( & format ! ( "{github_api_url}/app" ) )
8993 . header ( AUTHORIZATION , format ! ( "Bearer {jwt}" ) )
94+ . header ( USER_AGENT , SQUAWK_USER_AGENT )
9095 . send ( ) ?
9196 . error_for_status ( ) ?
9297 . json :: < GitHubAppInfo > ( ) ?)
@@ -176,6 +181,7 @@ pub(crate) fn list_comments(
176181 ) )
177182 . query ( & [ ( "per_page" , 100 ) ] )
178183 . header ( AUTHORIZATION , format ! ( "Bearer {secret}" , ) )
184+ . header ( USER_AGENT , SQUAWK_USER_AGENT )
179185 . send ( ) ?
180186 . error_for_status ( ) ?
181187 . json :: < Vec < Comment > > ( ) ?)
@@ -203,6 +209,7 @@ pub(crate) fn update_comment(
203209 "{github_api_url}/repos/{owner}/{repo}/issues/comments/{comment_id}" ,
204210 ) )
205211 . header ( AUTHORIZATION , format ! ( "Bearer {secret}" ) )
212+ . header ( USER_AGENT , SQUAWK_USER_AGENT )
206213 . json ( & CommentBody { body } )
207214 . send ( ) ?
208215 . error_for_status ( ) ?;
0 commit comments