{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":477689619,"defaultBranch":"main","name":"behai-nguyen.github.io","ownerLogin":"behai-nguyen","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-04-04T12:25:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/54124798?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1649076787.3958132","currentOid":""},"activityList":{"items":[{"before":"536591c55477a6c2fb428d34dea884741b44e095","after":"ebc0157b54e1365cce1238353ae6686d420cfb35","ref":"refs/heads/main","pushedAt":"2024-06-17T12:48:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Formatting bug fixed.","shortMessageHtmlLink":"Formatting bug fixed."}},{"before":"b34dbbc6b19b3ff12389e44da3a2e0c42da6db37","after":"536591c55477a6c2fb428d34dea884741b44e095","ref":"refs/heads/main","pushedAt":"2024-06-14T02:45:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Microsoft Azure AI: Quick Steps to Get Started with the Text to Speech API","shortMessageHtmlLink":"Microsoft Azure AI: Quick Steps to Get Started with the Text to Speec…"}},{"before":"c468d3736ce5a7b8391ca190664947d2f9b8e2ca","after":"b34dbbc6b19b3ff12389e44da3a2e0c42da6db37","ref":"refs/heads/main","pushedAt":"2024-06-11T12:20:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Python FastAPI: Complete Authentication Flow with OAuth2 Security","shortMessageHtmlLink":"Python FastAPI: Complete Authentication Flow with OAuth2 Security"}},{"before":"70cde21b305faffc15998f0f6dc9d952b54da110","after":"c468d3736ce5a7b8391ca190664947d2f9b8e2ca","ref":"refs/heads/main","pushedAt":"2024-06-05T12:10:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Google AI Gemini API: A Complete Example of a Python Flask ChatBot","shortMessageHtmlLink":"Google AI Gemini API: A Complete Example of a Python Flask ChatBot"}},{"before":"9113cd0117d9f502945b21318f47dbce3e3013f1","after":"70cde21b305faffc15998f0f6dc9d952b54da110","ref":"refs/heads/main","pushedAt":"2024-06-01T02:14:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Bug fixed a format.","shortMessageHtmlLink":"Bug fixed a format."}},{"before":"76438875f32984f921e0b05b3956b87ddb3a0f9c","after":"9113cd0117d9f502945b21318f47dbce3e3013f1","ref":"refs/heads/main","pushedAt":"2024-06-01T01:35:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Using the YouTube Data API v3 with API Keys and OAuth 2.0","shortMessageHtmlLink":"Using the YouTube Data API v3 with API Keys and OAuth 2.0"}},{"before":"87a6ba804893e4ca3093663c5d6079f13f3b3e57","after":"76438875f32984f921e0b05b3956b87ddb3a0f9c","ref":"refs/heads/main","pushedAt":"2024-05-22T01:26:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Python FastAPI: Implementing Persistent Stateful HTTP Sessions with Redis Session Middleware and Extending OAuth2PasswordBearer for OAuth2 Security","shortMessageHtmlLink":"Python FastAPI: Implementing Persistent Stateful HTTP Sessions with R…"}},{"before":"b26876b8ab7eb7bfc165b92ff3a2706585be7cb1","after":"87a6ba804893e4ca3093663c5d6079f13f3b3e57","ref":"refs/heads/main","pushedAt":"2024-05-14T00:53:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Python FastAPI: Integrating OAuth2 Security with the Application's Own Authentication Process","shortMessageHtmlLink":"Python FastAPI: Integrating OAuth2 Security with the Application's Ow…"}},{"before":"fb5c34f635f018074bcdfa9978ccd8af752a1d32","after":"b26876b8ab7eb7bfc165b92ff3a2706585be7cb1","ref":"refs/heads/main","pushedAt":"2024-05-11T15:03:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Python FastAPI: Some Further Studies on OAuth2 Security","shortMessageHtmlLink":"Python FastAPI: Some Further Studies on OAuth2 Security"}},{"before":"59cfde4e995bf69d6934115a12cace502a3af73e","after":"fb5c34f635f018074bcdfa9978ccd8af752a1d32","ref":"refs/heads/main","pushedAt":"2024-05-04T03:59:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Bug fixed: link","shortMessageHtmlLink":"Bug fixed: link"}},{"before":"ad9318100256f4703b67f4e58d991542cb9464ba","after":"59cfde4e995bf69d6934115a12cace502a3af73e","ref":"refs/heads/main","pushedAt":"2024-05-04T03:32:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Python: A SQLAlchemy Wrapper Component That Works With Both Flask and FastAPI Frameworks","shortMessageHtmlLink":"Python: A SQLAlchemy Wrapper Component That Works With Both Flask and…"}},{"before":"9d1205663e38decf94ca700e5ac330f20d380ba9","after":"ad9318100256f4703b67f4e58d991542cb9464ba","ref":"refs/heads/main","pushedAt":"2024-03-20T12:19:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Rust: Actix-web -- Async Functions as Middlewares","shortMessageHtmlLink":"Rust: Actix-web -- Async Functions as Middlewares"}},{"before":"43fd40dbc9bfc09f455a1fd922e7614837526201","after":"9d1205663e38decf94ca700e5ac330f20d380ba9","ref":"refs/heads/main","pushedAt":"2024-03-18T04:42:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Rust: Actix-web Daily Logging -- Fix Local Offset, Apply Event Filtering","shortMessageHtmlLink":"Rust: Actix-web Daily Logging -- Fix Local Offset, Apply Event Filtering"}},{"before":"1a1e341ef5429b8e0df1d84b38642d5ed74121ed","after":"43fd40dbc9bfc09f455a1fd922e7614837526201","ref":"refs/heads/main","pushedAt":"2024-03-13T05:54:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Rust: Actix-web and Daily Logging","shortMessageHtmlLink":"Rust: Actix-web and Daily Logging"}},{"before":"8bdf5796984f67695441083ad3290283e4771700","after":"1a1e341ef5429b8e0df1d84b38642d5ed74121ed","ref":"refs/heads/main","pushedAt":"2024-03-11T01:42:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Added link: 'Index of the Complete Series'\n\nThat is, GitHub README.md https://github.com/behai-nguyen/rust_web_01","shortMessageHtmlLink":"Added link: 'Index of the Complete Series'"}},{"before":"61102de5750d324fd54c56dd1b3ab772bd1a9431","after":"8bdf5796984f67695441083ad3290283e4771700","ref":"refs/heads/main","pushedAt":"2024-02-27T01:57:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Rust: actix-web JSON Web Token authentication.","shortMessageHtmlLink":"Rust: actix-web JSON Web Token authentication."}},{"before":"0238b02b77787818fb1e0fc737e38ac522412c2d","after":"61102de5750d324fd54c56dd1b3ab772bd1a9431","ref":"refs/heads/main","pushedAt":"2024-02-17T01:23:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Rust: actix-web global extractor error handlers.","shortMessageHtmlLink":"Rust: actix-web global extractor error handlers."}},{"before":"8b93c241b94e2b927a9d5f65df780391f8cd45e5","after":"0238b02b77787818fb1e0fc737e38ac522412c2d","ref":"refs/heads/main","pushedAt":"2024-02-16T05:51:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Supports single request header.\n\nWork in Progress still.","shortMessageHtmlLink":"Supports single request header."}},{"before":"a0f021fa6d54b601ec5faf70b7e799141c1fbcfe","after":"8b93c241b94e2b927a9d5f65df780391f8cd45e5","ref":"refs/heads/main","pushedAt":"2024-02-15T00:32:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Fixed to '...in the following seven previous posts:' from 'six'.","shortMessageHtmlLink":"Fixed to '...in the following seven previous posts:' from 'six'."}},{"before":"b2cbb0f6c05d3d9669e277e1a23a20252a1c8651","after":"a0f021fa6d54b601ec5faf70b7e799141c1fbcfe","ref":"refs/heads/main","pushedAt":"2024-02-13T23:17:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Modifed 'How the Request Authentication Process Works', added step [Requests to “/favicon.ico” should proceed.]","shortMessageHtmlLink":"Modifed 'How the Request Authentication Process Works', added step [R…"}},{"before":"db5c326dff91a7a91317a5b7f0ce464e596ae847","after":"b2cbb0f6c05d3d9669e277e1a23a20252a1c8651","ref":"refs/heads/main","pushedAt":"2024-02-13T22:43:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Bug fixed an anchor.","shortMessageHtmlLink":"Bug fixed an anchor."}},{"before":"24447a291a6ee28852bedddf23e18d46baf3fe61","after":"db5c326dff91a7a91317a5b7f0ce464e596ae847","ref":"refs/heads/main","pushedAt":"2024-02-13T22:36:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Bug fixed an anchor.","shortMessageHtmlLink":"Bug fixed an anchor."}},{"before":"eb91f9129dcaefffe9cd541449b98ff8b73803de","after":"24447a291a6ee28852bedddf23e18d46baf3fe61","ref":"refs/heads/main","pushedAt":"2024-02-13T22:16:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Rust: actix-web CORS, Cookies and AJAX calls.","shortMessageHtmlLink":"Rust: actix-web CORS, Cookies and AJAX calls."}},{"before":"8f583643d7009683aee90e6758022569a1d5b153","after":"eb91f9129dcaefffe9cd541449b98ff8b73803de","ref":"refs/heads/main","pushedAt":"2024-02-12T00:14:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Fixed some HTML errors.\n\nWork in Progress still.","shortMessageHtmlLink":"Fixed some HTML errors."}},{"before":"99ec26a3f76c5020043baf06bc442acf424831b6","after":"8f583643d7009683aee90e6758022569a1d5b153","ref":"refs/heads/main","pushedAt":"2024-02-10T05:49:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Rust: actix-web get SSL/HTTPS for localhost.","shortMessageHtmlLink":"Rust: actix-web get SSL/HTTPS for localhost."}},{"before":"4a64571047a95ece18938e5a2bcff93279133f51","after":"99ec26a3f76c5020043baf06bc442acf424831b6","ref":"refs/heads/main","pushedAt":"2024-02-04T00:13:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Work in Progress. UI for jQuery AJAX call.","shortMessageHtmlLink":"Work in Progress. UI for jQuery AJAX call."}},{"before":"bba840a23689d2a2e201d2c2f6b4a0b32a836f33","after":"4a64571047a95ece18938e5a2bcff93279133f51","ref":"refs/heads/main","pushedAt":"2024-02-02T11:04:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Replaced GitHub /main/ with /6082e2df7f4f073c001f1707ebd418a33a08a6b3/.","shortMessageHtmlLink":"Replaced GitHub /main/ with /6082e2df7f4f073c001f1707ebd418a33a08a6b3/."}},{"before":"514aed406314f6431a0880542a220b965d7bba1c","after":"bba840a23689d2a2e201d2c2f6b4a0b32a836f33","ref":"refs/heads/main","pushedAt":"2024-02-01T02:24:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Replaced GitHub reference with: 45274f0797101bb4001a29cc572684d70b6bf6fb","shortMessageHtmlLink":"Replaced GitHub reference with: 45274f0797101bb4001a29cc572684d70b6bf6fb"}},{"before":"312215feb4e33d1951a1b6138fe9f5b88c6d1798","after":"514aed406314f6431a0880542a220b965d7bba1c","ref":"refs/heads/main","pushedAt":"2024-02-01T00:29:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Referenced GitHub file with: 86d2a4d902c5b8f585cea9407720dcc93fcf6a51","shortMessageHtmlLink":"Referenced GitHub file with: 86d2a4d902c5b8f585cea9407720dcc93fcf6a51"}},{"before":"257d2ea7073b86e22c58a045d4c3e76e259ec31e","after":"312215feb4e33d1951a1b6138fe9f5b88c6d1798","ref":"refs/heads/main","pushedAt":"2024-01-28T01:59:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"behai-nguyen","name":"Be Hai Nguyen","path":"/behai-nguyen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54124798?s=80&v=4"},"commit":{"message":"Rust: simple actix-web email-password login and request authentication using middleware.","shortMessageHtmlLink":"Rust: simple actix-web email-password login and request authenticatio…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEZ13z1QA","startCursor":null,"endCursor":null}},"title":"Activity · behai-nguyen/behai-nguyen.github.io"}