{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":831516708,"defaultBranch":"main","name":"turl","ownerLogin":"yilmaz08","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-07-20T19:36:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/84680978?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721653040.0","currentOid":""},"activityList":{"items":[{"before":"bc3745c048bbf81abd6e8ea67b7e7592cc6fc87a","after":"421e706fa3ac7b0b704a7e4bb5a4980b8d01022b","ref":"refs/heads/main","pushedAt":"2024-07-27T15:42:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"chore: update readme","shortMessageHtmlLink":"chore: update readme"}},{"before":"756d289bec70b11b8710c4fb52766fcf40b74e2c","after":"bc3745c048bbf81abd6e8ea67b7e7592cc6fc87a","ref":"refs/heads/main","pushedAt":"2024-07-27T00:04:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"chore: create code of conduct","shortMessageHtmlLink":"chore: create code of conduct"}},{"before":"cadba8223de55fe90889c71595e07e334ba32ec2","after":"756d289bec70b11b8710c4fb52766fcf40b74e2c","ref":"refs/heads/main","pushedAt":"2024-07-25T16:25:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"feat: indefinite timeout option & --hide-http-headers\n\nAdded indefinite timeout option. (set timeout to 0 with --force)\n\nWhen timeout is set to 0, turl will warn the user and exit unless the\n--force flag is set. When --force is set, turl will wait until the\nserver closes the connection.\n\nAdded --hide-http-headers flag.\n\nWhen this flag is set, the response is splitted at every '\\r'.\nWith a for loop it iterates until it finds a \"\\n\".as_bytes() and after\nthat every line is saved as the body in a vector.\nThen the response is overwritten with the body.","shortMessageHtmlLink":"feat: indefinite timeout option & --hide-http-headers"}},{"before":"75b7660ed13a4dc6d9242bfba8df19524894e486","after":"cadba8223de55fe90889c71595e07e334ba32ec2","ref":"refs/heads/main","pushedAt":"2024-07-25T16:22:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"indefinite timeout option & --hide-http-headers\n\nAdded indefinite timeout option. (set timeout to 0 with --force)\n\nWhen timeout is set to 0, turl will warn the user and exit unless the\n--force flag is set. When --force is set, turl will wait until the\nserver closes the connection.\n\nAdded --hide-http-headers flag.\n\nWhen this flag is set, the response is splitted at every '\\r'.\nWith a for loop it iterates until it finds a \"\\n\".as_bytes() and after\nthat every line is saved as the body in a vector.\nThen the response is overwritten with the body.","shortMessageHtmlLink":"indefinite timeout option & --hide-http-headers"}},{"before":"0b4d68e7c5a2ff9caa8cc09f9010aa7f3f5f5571","after":"75b7660ed13a4dc6d9242bfba8df19524894e486","ref":"refs/heads/main","pushedAt":"2024-07-24T01:03:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"fix: 499 status code from some servers\n\ntURL used to shut the connection down just after making the request.\nThis was causing some servers to respond with 499 status code (that\ndoesn't even reach the client).\n\nThe solution was to remove the\n`stream.shutdown(std::net::Shutdown::Write)?;` line.\n\nHowever, this function was used to prevent the client from waiting the\nserver to close the connection after responding (some servers never\nclose the connection).\n\nI had to add a timeout to the response reading. If the server doesn't\nrespond in time, the response that was read to that point is used.\n\nWhen request results in timeout, it is not always a loss. Because the\nprinting/saving goes on with the response that has been read to that\npoint.\n\nTimeout is set to 5 seconds by default. It can be changed with the\n--timeout flag.\n\nNote: This won't change anything on HTTP Mode because using \"Connection:\nclose\" header will make the server close the connection after\nresponding.","shortMessageHtmlLink":"fix: 499 status code from some servers"}},{"before":"b34e54d9b95fd20bdc14016736383ed22bc00ede","after":"0b4d68e7c5a2ff9caa8cc09f9010aa7f3f5f5571","ref":"refs/heads/main","pushedAt":"2024-07-23T23:10:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"feat: address parser & http headers\n\nAdded \"address_parser\" function (splits the address into 3 parts:\nprotocol, address, endpoint)\nAdded default http headers for the http mode:\n Host: address\n Accept: */*\n User-Agent: turl/1.0.0\n\nChanged TcpStream::connect(args.addr) -> TcpStream::connect(address)\n\nNote: protocol is not used for anything yet.","shortMessageHtmlLink":"feat: address parser & http headers"}},{"before":"006b87863853eedbbfd2fb78c9a75c9f974b3abc","after":"b34e54d9b95fd20bdc14016736383ed22bc00ede","ref":"refs/heads/main","pushedAt":"2024-07-22T18:04:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"HTTP Mode\n\nAdded --http flag to get the HTTP method.\nAdded --debug flag (prints sent request).\nAdded HTTP Method Validity Checker, can be disabled using --force\n\nWhen --http is used, the content data is used as the HTTP body and a\nHTTP/1.1 request to / path is made with the specified method.\nCurrently, the address is not parsed correctly. It will be fixed in the\nnext commit.","shortMessageHtmlLink":"HTTP Mode"}},{"before":"8c8dc5ad5f265cbf6066e79d3c1c68d629d044bf","after":"006b87863853eedbbfd2fb78c9a75c9f974b3abc","ref":"refs/heads/main","pushedAt":"2024-07-22T17:13:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"Organizing\n\nCreated \"file_functions.rs\" and \"input_functions.rs\"\n\nMoved \"get_multiline_input\" and \"get_singleline_input\" to\n\"input_functions.rs\"\nMoved \"write_to_file\" and \"read_from_file\" to \"file_functions.rs\"\n\nNote: main.rs was getting out of hand","shortMessageHtmlLink":"Organizing"}},{"before":"2101f2dc378308fe4e3651db9b5476fed4fa72bc","after":"8c8dc5ad5f265cbf6066e79d3c1c68d629d044bf","ref":"refs/heads/main","pushedAt":"2024-07-22T12:28:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"v1.0.0\n\nChanged args.target -> args.addr\nChanged \"get_user_input\" function -> \"get_singleline_input\" function\nChanged \"print_content\" function -> \"print_response\" function\n\nAdded \"Clone\" trait for \"Args\" struct\nAdded \"--content-file\" flag (\"--content\" overwrites it.)\nAdded multiline input (function \"get_multiline_input\") when \"--content\"\nand \"--content-file\" not entered\nAdded \"get_content\" function\nAdded \"print_connection_error\" function\nAdded \"save_response_to_file\" function\n\nNote: \"main\" function is simplified and there are no 3+ indents anymore.","shortMessageHtmlLink":"v1.0.0"}},{"before":"0a5cd6ecfa8316b8bba67123ef5f4d98057a8c1e","after":"2101f2dc378308fe4e3651db9b5476fed4fa72bc","ref":"refs/heads/main","pushedAt":"2024-07-21T13:35:41.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"Merge pull request #2 from dybdeskarphet/main\n\nCorrect wording in error message","shortMessageHtmlLink":"Merge pull request #2 from dybdeskarphet/main"}},{"before":"6b9fa7b7030dd1f10c87c44e1a171f17f0b4bbaa","after":"0a5cd6ecfa8316b8bba67123ef5f4d98057a8c1e","ref":"refs/heads/main","pushedAt":"2024-07-21T13:02:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"Change CLI arguments\n\n\"--lossy\" is removed and \"--force\" is used instead.\n\n\"--target\" and \"--port\" is removed, now target contains both and doesn't\nneed a flag.","shortMessageHtmlLink":"Change CLI arguments"}},{"before":"06acbe6da80861c8a72990a7eaea6a83fb346393","after":"6b9fa7b7030dd1f10c87c44e1a171f17f0b4bbaa","ref":"refs/heads/main","pushedAt":"2024-07-21T12:57:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"Create README.md","shortMessageHtmlLink":"Create README.md"}},{"before":"cac0b171ad20ebeec6d96c7796a69909a9cebfd8","after":"06acbe6da80861c8a72990a7eaea6a83fb346393","ref":"refs/heads/main","pushedAt":"2024-07-21T11:44:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"Save to file","shortMessageHtmlLink":"Save to file"}},{"before":"990973f86fda3b34059bcb493eecfe82c3f8639f","after":"cac0b171ad20ebeec6d96c7796a69909a9cebfd8","ref":"refs/heads/main","pushedAt":"2024-07-21T00:12:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"CLI & Requests & Printing","shortMessageHtmlLink":"CLI & Requests & Printing"}},{"before":null,"after":"990973f86fda3b34059bcb493eecfe82c3f8639f","ref":"refs/heads/main","pushedAt":"2024-07-20T19:36:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"yilmaz08","name":"Abdürrahim YILMAZ","path":"/yilmaz08","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84680978?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yN1QxNTo0MjoyMy4wMDAwMDBazwAAAASKxto8","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yN1QxNTo0MjoyMy4wMDAwMDBazwAAAASKxto8","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yMFQxOTozNjoxNi4wMDAwMDBazwAAAASEumSL"}},"title":"Activity · yilmaz08/turl"}