{"id":15018759,"url":"https://github.com/annoviko/robotframework-httpctrl","last_synced_at":"2025-10-23T22:30:43.963Z","repository":{"id":41308894,"uuid":"163280123","full_name":"annoviko/robotframework-httpctrl","owner":"annoviko","description":"HttpCtrl is a library for Robot Framework that provides API of HTTP(S) client and server","archived":false,"fork":false,"pushed_at":"2022-12-03T12:58:32.000Z","size":600,"stargazers_count":13,"open_issues_count":4,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-09-26T20:52:08.117Z","etag":null,"topics":["http","https","python","robotframework"],"latest_commit_sha":null,"homepage":"https://annoviko.github.io/robotframework-httpctrl/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/annoviko.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-27T10:18:28.000Z","updated_at":"2024-09-05T11:09:09.000Z","dependencies_parsed_at":"2023-01-22T16:10:24.033Z","dependency_job_id":null,"html_url":"https://github.com/annoviko/robotframework-httpctrl","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annoviko%2Frobotframework-httpctrl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annoviko%2Frobotframework-httpctrl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annoviko%2Frobotframework-httpctrl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annoviko%2Frobotframework-httpctrl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/annoviko","download_url":"https://codeload.github.com/annoviko/robotframework-httpctrl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219867717,"owners_count":16555814,"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":["http","https","python","robotframework"],"created_at":"2024-09-24T19:52:25.194Z","updated_at":"2025-10-23T22:30:43.945Z","avatar_url":"https://github.com/annoviko.png","language":"Python","readme":"HttpCtrl library for Robot Framework\n====================================\n\n**RobotFramework-HttpCtrl** is a library for Robot Framework that provides HTTP/HTTPS client and HTTP (IPv4 and IPv6) server services\nto make REST API testing easy.\n\n**License**: The 3-Clause BSD License\n\n**Documentation**: https://annoviko.github.io/robotframework-httpctrl/\n\n\nDependencies\n============\n\n**Python version**: \u003e=3.8\n\n\nInstallation\n============\n\nInstallation using pip3 tool:\n\n.. code:: bash\n\n    $ pip3 install robotframework-httpctrl\n\n\nBrief Overview of the Library Content\n=====================================\n\n**HttpCtrl** contains following general libraries:\n\n- **HttpCtrl.Client** - provides API to work with HTTP/HTTPS client [`link client documentation`_].\n\n- **HttpCtrl.Server** - provides API to work with HTTP server [`link server documentation`_].\n\n- **HttpCtrl.Json** - provides API to work Json messages [`link json documentation`_].\n\n- **HttpCtrl.Logging** - provides API to configure the logging system that is used by `HttpCtrl` library [`link logging documentation`_].\n\n.. _link client documentation: https://annoviko.github.io/robotframework-httpctrl/client.html\n.. _link server documentation: https://annoviko.github.io/robotframework-httpctrl/server.html\n.. _link json documentation: https://annoviko.github.io/robotframework-httpctrl/json.html\n.. _link logging documentation: https://annoviko.github.io/robotframework-httpctrl/logging.html\n\n\nExamples\n========\n\nSend GET request to obtain origin IP address and check that is not empty:\n\n.. code:: robotframework\n\n    *** Settings ***\n\n    Library         HttpCtrl.Client\n    Library         HttpCtrl.Json\n\n    *** Test Cases ***\n\n    Get Origin Address\n        Initialize Client   www.httpbin.org\n        Send HTTP Request   GET   /ip\n\n        ${response status}=   Get Response Status\n        ${response body}=     Get Response Body\n        ${response body}=     Decode Bytes To String   ${response body}   UTF-8\n\n        ${expected status}=   Convert To Integer   200\n        Should Be Equal   ${response status}   ${expected status}\n\n        ${origin}=    Get Json Value From String   ${response body}   origin\n        Should Not Be Empty   ${origin}\n\n\nIn this example HTTP client sends POST request to HTTP server. HTTP server receives it and checks incoming\nrequest for correctness.\n\n.. code:: robotframework\n\n    *** Settings ***\n\n    Library         String\n    Library         HttpCtrl.Client\n    Library         HttpCtrl.Server\n\n    Test Setup       Initialize HTTP Client And Server\n    Test Teardown    Terminate HTTP Server\n\n    *** Test Cases ***\n\n    Receive And Reply To POST\n        ${request body}=   Set Variable   { \"message\": \"Hello!\" }\n        Send HTTP Request Async   POST   /post   ${request body}\n\n        Wait For Request\n        Reply By   200\n\n        ${method}=   Get Request Method\n        ${url}=      Get Request Url\n        ${body}=     Get Request Body\n        ${body}=     Decode Bytes To String   ${body}   UTF-8\n\n        Should Be Equal   ${method}   POST\n        Should Be Equal   ${url}      /post\n        Should Be Equal   ${body}     ${request body}\n\n    *** Keywords ***\n\n    Initialize HTTP Client And Server\n        Initialize Client   127.0.0.1   8000\n        Start Server        127.0.0.1   8000\n\n    Terminate HTTP Server\n        Stop Server","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannoviko%2Frobotframework-httpctrl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fannoviko%2Frobotframework-httpctrl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannoviko%2Frobotframework-httpctrl/lists"}