Skip to content

Commit d77bdfa

Browse files
committed
naive logging
1 parent bf88b42 commit d77bdfa

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

fsharp/HopacSeries/Part3/ApiGateway.fsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,6 @@ type User = UserTypeProvider.Root
1616
type ReposTypeProvider = JsonProvider<"https://api.github.com/users/tamizhvendan/repos">
1717
type Repo = ReposTypeProvider.Root
1818

19-
20-
let httpGet url =
21-
Request.createUrl Get url
22-
|> Request.setHeader (UserAgent "FsHopac")
23-
|> getResponse
24-
|> Job.bind Response.readBodyAsString
25-
2619
type GitHubResponse = {
2720
Body : string
2821
NextPageUrl : string option
@@ -43,19 +36,29 @@ let gitHubResponse response = job {
4336
return {Body = body; NextPageUrl = nextPageUrl}
4437
}
4538

39+
let log msg x =
40+
printfn "%s" msg
41+
x
42+
4643
let httpGetWithPagination url =
4744
Request.createUrl Get url
4845
|> Request.setHeader (UserAgent "FsHopac")
4946
|> getResponse
5047
|> Job.bind gitHubResponse
5148

49+
let httpGet url =
50+
httpGetWithPagination url
51+
|> Job.map (fun r -> r.Body)
52+
5253
let basePath = "https://api.github.com"
5354
let userUrl = sprintf "%s/users/%s" basePath
5455

5556
let getUser username : Job<User> =
5657
userUrl username
58+
|> log ("Request: " + username)
5759
|> httpGet
5860
|> Job.map UserTypeProvider.Parse
61+
|> Job.map (log ("Response: " + username))
5962

6063
let userReposUrl = sprintf "%s/users/%s/repos?per_page=100" basePath
6164

@@ -70,8 +73,10 @@ let topThreeUserRepos (repos : Repo []) =
7073

7174
let getUserAllRepos username =
7275
let rec getUserAllRepos' url (repos : Repo list) = job {
76+
log ("Request: " + url) ()
7377
let! gitHubResponse =
7478
httpGetWithPagination url
79+
log ("Response: " + url) ()
7580
let currentPageRepos =
7681
gitHubResponse.Body
7782
|> ReposTypeProvider.Parse
@@ -101,8 +106,10 @@ let parseLanguagesJson languagesJson =
101106

102107
let getUserRepoLanguages username repoName =
103108
languagesUrl username repoName
109+
|> log ("Request(L): " + username + ", " + repoName)
104110
|> httpGet
105111
|> Job.map parseLanguagesJson
112+
|> Job.map (log ("Response(L): " + username + ", " + repoName))
106113

107114
type RepoDto = {
108115
Name : string

0 commit comments

Comments
 (0)