{"id":14066306,"url":"https://github.com/hrbrmstr/hdrs","last_synced_at":"2025-10-29T01:30:41.864Z","repository":{"id":141238251,"uuid":"173974273","full_name":"hrbrmstr/hdrs","owner":"hrbrmstr","description":"Have Some Fun with 'HTTP' Headers","archived":false,"fork":false,"pushed_at":"2019-03-06T12:57:33.000Z","size":38,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T20:51:12.666Z","etag":null,"topics":["http","http-headers","r","rstats"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hrbrmstr.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-05T15:41:05.000Z","updated_at":"2024-02-13T01:32:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"c3d56e2f-ee94-4b1d-b759-95123963868e","html_url":"https://github.com/hrbrmstr/hdrs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fhdrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fhdrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fhdrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fhdrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hrbrmstr","download_url":"https://codeload.github.com/hrbrmstr/hdrs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238752301,"owners_count":19524736,"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","http-headers","r","rstats"],"created_at":"2024-08-13T07:05:02.158Z","updated_at":"2025-10-29T01:30:41.487Z","avatar_url":"https://github.com/hrbrmstr.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"---\noutput: rmarkdown::github_document\neditor_options: \n  chunk_output_type: console\n---\n```{r pkg-knitr-opts, include=FALSE}\nknitr::opts_chunk$set(collapse=TRUE, fig.retina=2, message=FALSE, warning=FALSE)\noptions(width=120)\n```\n\n[![Travis-CI Build Status](https://travis-ci.org/hrbrmstr/hdrs.svg?branch=master)](https://travis-ci.org/hrbrmstr/hdrs) \n[![Coverage Status](https://codecov.io/gh/hrbrmstr/hdrs/branch/master/graph/badge.svg)](https://codecov.io/gh/hrbrmstr/hdrs)\n[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/hdrs)](https://cran.r-project.org/package=hdrs)\n\n# hdrs\n\nHave Some Fun with 'HTTP' Headers\n\n## Description\n\nMethods are provided to retrieve and test 'HTTP' headers from \na website. An 'HTTP' request and response header reference/explanatory\ndata frame is also provided via the 'hsecsecan' project \n(\u003chttps://github.com/riramar/hsecscan\u003e)\n\n## What's Inside The Tin\n\nThe following functions are implemented:\n\n\n- `as.data.frame.insensitive`:\tTurn `httr::headers()` objects into a data frame\n- `assess_security_headers`:\tAssess \"security\" headers for a given URL\n- `explain_headers`:\tExplain HTTP headers found from a URL request\n- `explore_app`:\tA Shiny App for Exploring HTTP Headers\n- `http_headers`:\tHTTP Header Reference\n\n## Installation\n\n```{r install-ex, eval=FALSE}\ninstall.packages(\"hdrs\", repos = \"https://cinc.rud.is/\")\n```\n\n## Usage\n\n```{r lib-ex}\nlibrary(hdrs)\nlibrary(tibble) # for printing\n\n# current version\npackageVersion(\"hdrs\")\n\n```\n\n```{r df}\nhttr::HEAD(\"https://rud.is/b\") %\u003e% \n  httr::headers() %\u003e% \n  as.data.frame()\n```\n\n```{r basic}\nassess_security_headers(\"https://cran.r-project.org\") %\u003e% \n  dplyr::select(-url) %\u003e% \n  gt::gt()\n```\n\nTsk, tsk\u0026hellip;\n\n```{r someworktodo}\nassess_security_headers(\"https://rud.is/b\") %\u003e% \n  dplyr::select(-url) %\u003e% \n  gt::gt()\n```\n\nLooks like I gots some 'splainin to do as well.\n\n```{r all}\nhdrs::explain_headers(\"https://community.rstudio.com/\") %\u003e% \n  dplyr::select(header,value, enable, security_reference, recommendations) %\u003e% \n  gt::gt()\n```\n\n### Reference\n\n```{r ref}\ndata(http_headers)\n\ndplyr::glimpse(http_headers)\n```\n\n## hdrs Metrics\n\n```{r cloc, echo=FALSE}\ncloc::cloc_pkg_md()\n```\n\n## Code of Conduct\n\nPlease note that this project is released with a [Contributor Code of Conduct](CONDUCT.md). \nBy participating in this project you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrbrmstr%2Fhdrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhrbrmstr%2Fhdrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrbrmstr%2Fhdrs/lists"}