{"id":22513806,"url":"https://github.com/aliiahmadi/meow","last_synced_at":"2025-03-28T01:28:23.154Z","repository":{"id":211583502,"uuid":"729412496","full_name":"AliiAhmadi/Meow","owner":"AliiAhmadi","description":"A comprehensive REST API for managing movie data, providing a variety of endpoints for retrieving, creating, updating, and deleting movie information","archived":false,"fork":false,"pushed_at":"2023-12-29T08:09:56.000Z","size":16401,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T03:24:56.974Z","etag":null,"topics":["api","golang","rest-api","web-api"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AliiAhmadi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-09T06:27:33.000Z","updated_at":"2024-01-12T11:17:34.000Z","dependencies_parsed_at":"2023-12-29T08:39:04.251Z","dependency_job_id":null,"html_url":"https://github.com/AliiAhmadi/Meow","commit_stats":null,"previous_names":["aliiahmadi/meow","lexurr/meow"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliiAhmadi%2FMeow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliiAhmadi%2FMeow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliiAhmadi%2FMeow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliiAhmadi%2FMeow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AliiAhmadi","download_url":"https://codeload.github.com/AliiAhmadi/Meow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245951990,"owners_count":20699412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","golang","rest-api","web-api"],"created_at":"2024-12-07T03:14:32.181Z","updated_at":"2025-03-28T01:28:23.077Z","avatar_url":"https://github.com/AliiAhmadi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Meow\n\n![golang](https://github.com/AliiAhmadi/Meow/assets/107758775/28b90dae-bc10-4376-ba30-938982142b72)\n\n\u003e [!TIP]\n\u003e You can use `make` to run the project.\n\nLet's go through the general process starting from creating a new account and verifying the account and using it.\n\n## Registeration\n\nFor registration we need to send a post request to `http://127.0.0.1:4000/v1/users` with `email`, `password` and `name` fields.\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/users' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"email\": \"me@gmail.com\",\n    \"name\": \"me me\",\n    \"password\": \"123456789\"\n}'\n```\n\nResponse will be like this if registration be sucessful.\n```json\n{\n    \"user\": {\n        \"id\": 17,\n        \"created_at\": \"2023-12-26T13:16:56+03:30\",\n        \"name\": \"me me\",\n        \"email\": \"me@gmail.com\",\n        \"activated\": false\n    }\n}\n```\n\nNow you will receive an verification email like this:\n```\nHi,\n\nThanks for signing up.\n\nFor future reference, your user ID number is 17.\n\nPlease send a request to the PUT /v1/users/activated endpoint with the following JSON body to activate your account:\n\n\n{\"token\": \"TXF7POG4374WTUUS2Y7XQ5ETFU\"}\n\nPlease note that this is a one-time use token and it will expire in 1 hour.\n\nThanks\n```\n\nFollow this and send a PUT request to `/v1/users/activated`:\n\n```zsh\ncurl --location --request PUT 'http://127.0.0.1:4000/v1/users/activated' \\\n--header 'Key: Value' \\\n--header 'Content-Type: application/json' \\\n--data '{\n    \"token\": \"TXF7POG4374WTUUS2Y7XQ5ETFU\"\n}'\n```\n\nYour account activated and now you need to generate a authorization token for access to endpoints:\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/tokens/authentication' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"email\": \"me@gmail.com\",\n    \"password\": \"123456789\"\n}'\n```\n\nResponse:\n\n```json\n{\n    \"auth_token\": {\n        \"token\": \"TZQQKL3PYCIFROF7INLAYM5YPI\",\n        \"expiry\": \"2023-12-27T13:29:45.791141968+03:30\"\n    }\n}\n```\n\nNow you have a bearer token. use that for every request. If you send a request to an protected route without any authirization token you will get error:\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/movies/1' \\\n--header 'Content-Type: application/json'\n```\n\nResponse (with 401 status code):\n\n```json\n{\n    \"error\": \"you must be authenticated to access this resource\"\n}\n```\n\nOr if use an fake token:\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/movies/1' \\\n--header 'Content-Type: application/json' \\\n--header 'Authorization: Bearer 3PXHUW7RNJCOY5L7JIP7NXKZZ4'\n```\n\n```json\n{\n    \"error\": \"invalid or missing authentication token\"\n}\n```\n\nSome validation will be done when you want to register:\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/users' \\\n--header 'Content-Type: application/json' \\\n--data '{\n    \"email\": \"invalid_email\",\n    \"password\": \"123_\"\n}'\n```\n\n```json\n{\n    \"error\": {\n        \"email\": \"must be a valid email address\",\n        \"name\": \"must be provided\",\n        \"password\": \"must be at least 8 bytes long\"\n    }\n}\n```\n\n## Movie routes\n\nWe have 5 routes for `fetch`, `update`, `insert` and `delete` movies in different ways. Let's deal with them.\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/movies' \\\n--header 'Content-Type: application/json' \\\n--header 'Authorization: Bearer YCXX5FG6K2ISWOC4SZMRJKAPVA'\n```\n\n```json\n{\n    \"metadata\": {\n        \"current_page\": 1,\n        \"page_size\": 10,\n        \"first_page\": 1,\n        \"last_page\": 1,\n        \"total_records\": 4\n    },\n    \"movies\": [\n        {\n            \"id\": 1,\n            \"title\": \"avengers\",\n            \"year\": 2012,\n            \"runtime\": \"2 mins\",\n            \"genres\": [\n                \"sci-fi\"\n            ],\n            \"version\": 3\n        },\n        {\n            \"id\": 2,\n            \"title\": \"Black Panther\",\n            \"year\": 2018,\n            \"runtime\": \"134 mins\",\n            \"genres\": [\n                \"action\",\n                \"adventure\"\n            ],\n            \"version\": 1\n        },\n        {\n            \"id\": 3,\n            \"title\": \"Deadpool\",\n            \"year\": 2016,\n            \"runtime\": \"108 mins\",\n            \"genres\": [\n                \"action\",\n                \"comedy\"\n            ],\n            \"version\": 1\n        },\n        {\n            \"id\": 4,\n            \"title\": \"The Breakfast Club\",\n            \"year\": 2000,\n            \"runtime\": \"96 mins\",\n            \"genres\": [\n                \"drama\"\n            ],\n            \"version\": 13\n        }\n    ]\n}\n```\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/movies/3' \\\n--header 'Content-Type: application/json' \\\n--header 'Authorization: Bearer YCXX5FG6K2ISWOC4SZMRJKAPVA'\n```\n\n```json\n{\n    \"movie\": {\n        \"id\": 3,\n        \"title\": \"Deadpool\",\n        \"year\": 2016,\n        \"runtime\": \"108 mins\",\n        \"genres\": [\n            \"action\",\n            \"comedy\"\n        ],\n        \"version\": 1\n    }\n}\n```\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/movies' \\\n--header 'Content-Type: application/json' \\\n--header 'Authorization: Bearer YCXX5FG6K2ISWOC4SZMRJKAPVA' \\\n--data '{\n    \"title\": \"The Avengers 2\",\n    \"year\": 2012,\n    \"runtime\": \"125 mins\",\n    \"genres\": [\n        \"action\",\n        \"comedy\",\n        \"western\"\n    ]\n}'\n```\n\nWith this request you will get error response:\n\n```json\n{\n    \"error\": \"your user account doesn't have the necessary permissions to access this resource\"\n}\n```\n\nNeed to insert an row in `users_permissions` table for current user to have access to write. After that try again:\n\n```json\n{\n    \"movie\": {\n        \"id\": 5,\n        \"title\": \"The Avengers 2\",\n        \"year\": 2012,\n        \"runtime\": \"125 mins\",\n        \"genres\": [\n            \"action\",\n            \"comedy\",\n            \"western\"\n        ],\n        \"version\": 1\n    }\n}\n```\n\n```zsh\ncurl --location --request PUT 'http://127.0.0.1:4000/v1/movies/5' \\\n--header 'Content-Type: application/json' \\\n--header 'Authorization: Bearer YCXX5FG6K2ISWOC4SZMRJKAPVA' \\\n--data '{\n    \"runtime\": \"130 mins\"\n}'\n```\n\n```json\n{\n    \"movie\": {\n        \"id\": 5,\n        \"title\": \"The Avengers 2\",\n        \"year\": 2012,\n        \"runtime\": \"130 mins\",\n        \"genres\": [\n            \"action\",\n            \"comedy\",\n            \"western\"\n        ],\n        \"version\": 2\n    }\n}\n```\n\n```zsh\ncurl --location --request DELETE 'http://127.0.0.1:4000/v1/movies/2' \\\n--header 'Content-Type: application/json' \\\n--header 'Authorization: Bearer YCXX5FG6K2ISWOC4SZMRJKAPVA'\n```\n\n```json\n{\n    \"message\": \"movie deleted successfully\"\n}\n```\n\n## Health check\n\nAnother route implemented is a \"healthcheck\" to fetch some information about the API (no authentication is required):\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/v1/healthcheck' \\\n--header 'Content-Type: application/json'\n```\n\n```json\n{\n    \"info\": {\n        \"environment\": \"development\",\n        \"status\": \"available\",\n        \"version\": \"1.0.0\"\n    }\n}\n```\n\n## Debug\n\nAnd the last route of this simple API is `debug`. Use it to see system resource usage and many more data:\n\n```zsh\ncurl --location 'http://127.0.0.1:4000/debug' \\\n--header 'Content-Type: application/json'\n```\n\n```json\n{\n    \"cmdline\": [\n        \"/tmp/go-build1112461546/b001/exe/api\",\n        \"-smtp-username=\u003c--\u003e\",\n        \"-smtp-password=\u003c--\u003e\"\n    ],\n    \"database\": {\n        \"MaxOpenConnections\": 25,\n        \"OpenConnections\": 0,\n        \"InUse\": 0,\n        \"Idle\": 0,\n        \"WaitCount\": 0,\n        \"WaitDuration\": 0,\n        \"MaxIdleClosed\": 0,\n        \"MaxIdleTimeClosed\": 1,\n        \"MaxLifetimeClosed\": 0\n    },\n    \"goroutines\": 8,\n    \"inflight_requests\": 0,\n    \"memstats\": {\n        \"Alloc\": 932584,\n        \"TotalAlloc\": 932584,\n        \"Sys\": 8494096,\n        \"Lookups\": 0,\n        \"Mallocs\": 5377,\n        \"Frees\": 401,\n        \"HeapAlloc\": 932584,\n        \"HeapSys\": 3571712,\n        \"HeapIdle\": 1335296,\n        \"HeapInuse\": 2236416,\n        \"HeapReleased\": 1204224,\n        \"HeapObjects\": 4976,\n        \"StackInuse\": 622592,\n        \"StackSys\": 622592,\n        \"MSpanInuse\": 57792,\n        \"MSpanSys\": 65184,\n        \"MCacheInuse\": 14400,\n        \"MCacheSys\": 15600,\n        \"BuckHashSys\": 4005,\n        \"GCSys\": 2915544,\n        \"OtherSys\": 1299459,\n        \"NextGC\": 4194304,\n        \"LastGC\": 0,\n        \"PauseTotalNs\": 0,\n        \"PauseNs\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n        ],\n        \"PauseEnd\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n        ],\n        \"NumGC\": 0,\n        \"NumForcedGC\": 0,\n        \"GCCPUFraction\": 0,\n        \"EnableGC\": true,\n        \"DebugGC\": false,\n        \"BySize\": [\n            {\n                \"Size\": 0,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 8,\n                \"Mallocs\": 134,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 16,\n                \"Mallocs\": 1544,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 24,\n                \"Mallocs\": 555,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 32,\n                \"Mallocs\": 363,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 48,\n                \"Mallocs\": 613,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 64,\n                \"Mallocs\": 224,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 80,\n                \"Mallocs\": 204,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 96,\n                \"Mallocs\": 173,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 112,\n                \"Mallocs\": 408,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 128,\n                \"Mallocs\": 74,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 144,\n                \"Mallocs\": 126,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 160,\n                \"Mallocs\": 89,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 176,\n                \"Mallocs\": 21,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 192,\n                \"Mallocs\": 5,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 208,\n                \"Mallocs\": 61,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 224,\n                \"Mallocs\": 20,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 240,\n                \"Mallocs\": 2,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 256,\n                \"Mallocs\": 55,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 288,\n                \"Mallocs\": 39,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 320,\n                \"Mallocs\": 11,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 352,\n                \"Mallocs\": 54,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 384,\n                \"Mallocs\": 1,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 416,\n                \"Mallocs\": 66,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 448,\n                \"Mallocs\": 1,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 480,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 512,\n                \"Mallocs\": 7,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 576,\n                \"Mallocs\": 12,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 640,\n                \"Mallocs\": 4,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 704,\n                \"Mallocs\": 7,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 768,\n                \"Mallocs\": 2,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 896,\n                \"Mallocs\": 5,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 1024,\n                \"Mallocs\": 10,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 1152,\n                \"Mallocs\": 13,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 1280,\n                \"Mallocs\": 6,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 1408,\n                \"Mallocs\": 3,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 1536,\n                \"Mallocs\": 12,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 1792,\n                \"Mallocs\": 2,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 2048,\n                \"Mallocs\": 4,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 2304,\n                \"Mallocs\": 3,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 2688,\n                \"Mallocs\": 1,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 3072,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 3200,\n                \"Mallocs\": 1,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 3456,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 4096,\n                \"Mallocs\": 10,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 4864,\n                \"Mallocs\": 2,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 5376,\n                \"Mallocs\": 1,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 6144,\n                \"Mallocs\": 2,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 6528,\n                \"Mallocs\": 2,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 6784,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 6912,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 8192,\n                \"Mallocs\": 4,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 9472,\n                \"Mallocs\": 13,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 9728,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 10240,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 10880,\n                \"Mallocs\": 1,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 12288,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 13568,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 14336,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 16384,\n                \"Mallocs\": 0,\n                \"Frees\": 0\n            },\n            {\n                \"Size\": 18432,\n                \"Mallocs\": 1,\n                \"Frees\": 0\n            }\n        ]\n    },\n    \"timestamp\": 1703837147,\n    \"total_processing_time_microseconds\": 591934,\n    \"total_requests_received\": 17,\n    \"total_responses_send\": 16,\n    \"total_responses_sent_by_status\": {\n        \"200\": 7,\n        \"201\": 2,\n        \"401\": 5,\n        \"403\": 1,\n        \"422\": 1\n    },\n    \"version\": \"1.0.0\"\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliiahmadi%2Fmeow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faliiahmadi%2Fmeow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliiahmadi%2Fmeow/lists"}