{
  "_id": "6a3abced44e65c5976a90648",
  "Package": "webfakes",
  "Title": "Fake Web Apps for HTTP Testing",
  "Version": "1.5.0.9000",
  "Authors@R": "c(\nperson(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")),\nperson(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"),\ncomment = c(ROR = \"03wc8by49\")),\nperson(, \"Civetweb contributors\", role = \"ctb\",\ncomment = \"see inst/credits/civetweb.md\"),\nperson(, \"Redoc contributors\", role = \"ctb\",\ncomment = \"see inst/credits/redoc.md\"),\nperson(\"L. Peter\", \"Deutsch\", role = \"ctb\",\ncomment = \"src/md5.h\"),\nperson(\"Martin\", \"Purschke\", role = \"ctb\",\ncomment = \"src/md5.h\"),\nperson(, \"Aladdin Enterprises\", role = \"cph\",\ncomment = \"src/md5.h\"),\nperson(\"Maëlle\", \"Salmon\", , \"maelle.salmon@yahoo.se\", role = \"ctb\",\ncomment = c(ORCID = \"0000-0002-2815-0399\"))\n)",
  "Description": "Create a web app that makes it easier to test web clients\nwithout using the internet. It includes a web app framework\nwith path matching, parameters and templates. Can parse various\n'HTTP' request bodies. Can send 'JSON' data or files from the\ndisk. Includes a web app that implements the 'httpbin.org' web\nservice.",
  "License": "MIT + file LICENSE",
  "URL": "https://webfakes.r-lib.org/, https://github.com/r-lib/webfakes",
  "BugReports": "https://github.com/r-lib/webfakes/issues",
  "Biarch": "true",
  "Config/Needs/website": "tidyverse/tidytemplate",
  "Config/testthat/edition": "3",
  "Config/usethis/last-upkeep": "2025-04-28",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.0.0",
  "Repository": "https://r-lib.r-universe.dev",
  "Date/Publication": "2026-06-06 21:50:23 UTC",
  "RemoteUrl": "https://github.com/r-lib/webfakes",
  "RemoteRef": "HEAD",
  "RemoteSha": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-23 16:35:47 UTC",
    "User": "root"
  },
  "Author": "Gábor Csárdi [aut, cre],\nPosit Software, PBC [cph, fnd] (ROR: <https://ror.org/03wc8by49>),\nCivetweb contributors [ctb] (see inst/credits/civetweb.md),\nRedoc contributors [ctb] (see inst/credits/redoc.md),\nL. Peter Deutsch [ctb] (src/md5.h),\nMartin Purschke [ctb] (src/md5.h),\nAladdin Enterprises [cph] (src/md5.h),\nMaëlle Salmon [ctb] (ORCID: <https://orcid.org/0000-0002-2815-0399>)",
  "Maintainer": "Gábor Csárdi <csardi.gabor@gmail.com>",
  "MD5sum": "6d63d1d65a2b77bfe20d5968db31159c",
  "_user": "r-lib",
  "_type": "src",
  "_file": "webfakes_1.5.0.9000.tar.gz",
  "_fileid": "0d6bffb3de65f2588505305d4d28d5ec14d1d9e2bab85370580dd9c4bcb9c822",
  "_filesize": 2070302,
  "_sha256": "0d6bffb3de65f2588505305d4d28d5ec14d1d9e2bab85370580dd9c4bcb9c822",
  "_created": "2026-06-23T16:35:47.000Z",
  "_published": "2026-06-23T17:05:49.555Z",
  "_distro": "resolute",
  "_jobs": [
    {
      "job": 83007893993,
      "time": 191,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7827238862"
    },
    {
      "job": 83007893986,
      "time": 178,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7827232734"
    },
    {
      "job": 83007893962,
      "time": 203,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7827243588"
    },
    {
      "job": 83007893927,
      "time": 182,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7827233966"
    },
    {
      "job": 83007893914,
      "time": 174,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7827792360"
    },
    {
      "job": 83007893898,
      "time": 189,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7827836532"
    },
    {
      "job": 83007893915,
      "time": 178,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7827807262"
    },
    {
      "job": 83007893894,
      "time": 318,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7827862497"
    },
    {
      "job": 83007085605,
      "time": 209,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7827160030"
    },
    {
      "job": 83007893849,
      "time": 174,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7827231221"
    },
    {
      "job": 83007893892,
      "time": 219,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7827247869"
    },
    {
      "job": 83007893930,
      "time": 164,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7827227839"
    },
    {
      "job": 83007893825,
      "time": 177,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7827232103"
    }
  ],
  "_buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/r-lib/webfakes",
  "_commit": {
    "id": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
    "author": "Gábor Csárdi <csardi.gabor@gmail.com>",
    "committer": "Gábor Csárdi <csardi.gabor@gmail.com>",
    "message": "Fix typos in the documentation\n",
    "time": 1780782623
  },
  "_maintainer": {
    "name": "Gábor Csárdi",
    "email": "csardi.gabor@gmail.com",
    "login": "gaborcsardi",
    "mastodon": "@gaborcsardi@fosstodon.org",
    "bluesky": "@gaborcsardi.org",
    "description": "",
    "uuid": 660288
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.6",
      "role": "Depends"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "brotli",
      "role": "Suggests"
    },
    {
      "package": "callr",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "curl",
      "role": "Suggests"
    },
    {
      "package": "digest",
      "role": "Suggests"
    },
    {
      "package": "glue",
      "role": "Suggests"
    },
    {
      "package": "httpuv",
      "role": "Suggests"
    },
    {
      "package": "httr",
      "role": "Suggests"
    },
    {
      "package": "jsonlite",
      "role": "Suggests"
    },
    {
      "package": "processx",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "xml2",
      "role": "Suggests"
    },
    {
      "package": "zip",
      "version": ">= 2.3.0",
      "role": "Suggests"
    }
  ],
  "_owner": "r-lib",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-26",
      "n": 5
    },
    {
      "week": "2025-43",
      "n": 1
    },
    {
      "week": "2026-09",
      "n": 1
    },
    {
      "week": "2026-15",
      "n": 8
    },
    {
      "week": "2026-16",
      "n": 1
    },
    {
      "week": "2026-20",
      "n": 19
    },
    {
      "week": "2026-23",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v1.4.0",
      "date": "2025-06-24"
    },
    {
      "name": "v1.4.1",
      "date": "2026-04-08"
    },
    {
      "name": "v1.5.0",
      "date": "2026-05-16"
    }
  ],
  "_stars": 62,
  "_contributors": [
    {
      "user": "gaborcsardi",
      "count": 509,
      "uuid": 660288
    },
    {
      "user": "maelle",
      "count": 80,
      "uuid": 8360597
    },
    {
      "user": "gergness",
      "count": 1,
      "uuid": 2104579
    },
    {
      "user": "jeroenjanssens",
      "count": 1,
      "uuid": 1368256
    },
    {
      "user": "barracuda156",
      "count": 1,
      "uuid": 92015510
    },
    {
      "user": "zopolis4",
      "count": 1,
      "uuid": 64618338
    },
    {
      "user": "lbm364dl",
      "count": 1,
      "uuid": 58592115
    }
  ],
  "_userbio": {
    "uuid": 22618716,
    "type": "organization",
    "name": "R infrastructure",
    "followers": 740
  },
  "_downloads": {
    "count": 43195,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/webfakes"
  },
  "_devurl": "https://github.com/r-lib/webfakes",
  "_pkgdown": "https://webfakes.r-lib.org/",
  "_searchresults": 21,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/webfakes.html",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/r-lib/webfakes",
  "_realowner": "r-lib",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.1.1",
      "date": "2020-12-16"
    },
    {
      "version": "1.1.2",
      "date": "2021-04-05"
    },
    {
      "version": "1.1.3",
      "date": "2021-04-30"
    },
    {
      "version": "1.1.4",
      "date": "2022-09-08"
    },
    {
      "version": "1.1.5",
      "date": "2022-10-25"
    },
    {
      "version": "1.1.6",
      "date": "2022-11-08"
    },
    {
      "version": "1.1.7",
      "date": "2023-02-08"
    },
    {
      "version": "1.2.0",
      "date": "2023-05-16"
    },
    {
      "version": "1.2.1",
      "date": "2023-10-01"
    },
    {
      "version": "1.3.0",
      "date": "2023-12-11"
    },
    {
      "version": "1.3.1",
      "date": "2024-04-25"
    },
    {
      "version": "1.3.2",
      "date": "2025-01-11"
    },
    {
      "version": "1.4.0",
      "date": "2025-06-24"
    },
    {
      "version": "1.4.1",
      "date": "2026-04-08"
    },
    {
      "version": "1.5.0",
      "date": "2026-05-16"
    }
  ],
  "_exports": [
    "git_app",
    "http_time_stamp",
    "httpbin_app",
    "local_app_process",
    "mw_cgi",
    "mw_cookie_parser",
    "mw_etag",
    "mw_json",
    "mw_log",
    "mw_multipart",
    "mw_range_parser",
    "mw_raw",
    "mw_static",
    "mw_text",
    "mw_urlencoded",
    "new_app",
    "new_app_process",
    "new_regexp",
    "oauth2_httr_login",
    "oauth2_login",
    "oauth2_resource_app",
    "oauth2_third_party_app",
    "server_opts",
    "tmpl_glue"
  ],
  "_help": [
    {
      "page": "git_app",
      "title": "Web app that acts as a git http server",
      "topics": [
        "git_app"
      ]
    },
    {
      "page": "glossary",
      "title": "webfakes glossary",
      "topics": [
        "glossary"
      ]
    },
    {
      "page": "how-to",
      "title": "How to use webfakes in your tests",
      "topics": [
        "how-to"
      ]
    },
    {
      "page": "http_time_stamp",
      "title": "Format a time stamp for HTTP",
      "topics": [
        "http_time_stamp"
      ]
    },
    {
      "page": "httpbin_app",
      "title": "Generic web app for testing HTTP clients",
      "topics": [
        "httpbin_app"
      ]
    },
    {
      "page": "introduction",
      "title": "Happy HTTP testing with webfakes",
      "topics": [
        "introduction"
      ]
    },
    {
      "page": "local_app_process",
      "title": "App process that is cleaned up automatically",
      "topics": [
        "local_app_process"
      ]
    },
    {
      "page": "mw_cgi",
      "title": "Middleware that calls a CGI script",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_cgi"
      ]
    },
    {
      "page": "mw_cookie_parser",
      "title": "Middleware to parse Cookies",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_cookie_parser"
      ]
    },
    {
      "page": "mw_etag",
      "title": "Middleware that add an 'ETag' header to the response",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_etag"
      ]
    },
    {
      "page": "mw_json",
      "title": "Middleware to parse a JSON body",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_json"
      ]
    },
    {
      "page": "mw_log",
      "title": "Log requests to the standard output or other connection",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_log"
      ]
    },
    {
      "page": "mw_multipart",
      "title": "Parse a multipart HTTP request body",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_multipart"
      ]
    },
    {
      "page": "mw_range_parser",
      "title": "Middleware to parse a Range header",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_range_parser"
      ]
    },
    {
      "page": "mw_raw",
      "title": "Middleware to read the raw body of a request",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_raw"
      ]
    },
    {
      "page": "mw_static",
      "title": "Middleware function to serve static files",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_static"
      ]
    },
    {
      "page": "mw_text",
      "title": "Middleware to parse a plain text body",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_text"
      ]
    },
    {
      "page": "mw_urlencoded",
      "title": "Middleware to parse an url-encoded request body",
      "concept": [
        "middleware"
      ],
      "topics": [
        "mw_urlencoded"
      ]
    },
    {
      "page": "new_app",
      "title": "Create a new web application",
      "topics": [
        "new_app",
        "webfakes_app"
      ]
    },
    {
      "page": "new_app_process",
      "title": "Run a webfakes app in another process",
      "topics": [
        "new_app_process",
        "webfakes_app_process"
      ]
    },
    {
      "page": "new_regexp",
      "title": "Create a new regular expression to use in webfakes routes",
      "topics": [
        "new_regexp",
        "webfakes_regexp"
      ]
    },
    {
      "page": "oauth2_httr_login",
      "title": "Helper function to use httr's OAuth2.0 functions non-interactively, e.g. in test cases",
      "concept": [
        "OAuth2.0 functions"
      ],
      "topics": [
        "oauth2_httr_login"
      ]
    },
    {
      "page": "oauth2_login",
      "title": "Helper function to log in to a third party OAuth2.0 app without a browser",
      "concept": [
        "OAuth2.0 functions"
      ],
      "topics": [
        "oauth2_login"
      ]
    },
    {
      "page": "oauth2_resource_app",
      "title": "Fake OAuth 2.0 resource and authorization app",
      "concept": [
        "OAuth2.0 functions"
      ],
      "topics": [
        "oauth2_resource_app"
      ]
    },
    {
      "page": "oauth2_third_party_app",
      "title": "App representing the third-party app",
      "concept": [
        "OAuth2.0 functions"
      ],
      "topics": [
        "oauth2_third_party_app"
      ]
    },
    {
      "page": "server_opts",
      "title": "Webfakes web server options",
      "topics": [
        "server_opts"
      ]
    },
    {
      "page": "tmpl_glue",
      "title": "glue based template engine",
      "topics": [
        "tmpl_glue"
      ]
    },
    {
      "page": "webfakes_request",
      "title": "A webfakes request object",
      "topics": [
        "webfakes_request"
      ]
    },
    {
      "page": "webfakes_response",
      "title": "A webfakes response object",
      "topics": [
        "webfakes_response"
      ]
    }
  ],
  "_readme": "https://github.com/r-lib/webfakes/raw/HEAD/README.md",
  "_rundeps": [],
  "_score": 8.549385012026521,
  "_indexed": true,
  "_nocasepkg": "webfakes",
  "_universes": [
    "r-lib",
    "gaborcsardi"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.5.0.9000",
      "date": "2026-06-23T16:38:55.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "c977490645c49e11ba03b8148366a5a54fcf4f426558ad5872b2e87b1911c3ca",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.5.0.9000",
      "date": "2026-06-23T16:38:46.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "48a5d728b3c03893da476d8648e4a4a05d38ae668cf1c94b0af7f19abede819c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.5.0.9000",
      "date": "2026-06-23T16:39:03.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "d36c0cfed9586e73c622977775013e84fb2d20e74edb018f5eef68710c9ebaf5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.5.0.9000",
      "date": "2026-06-23T16:38:46.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "95393ecb6c94112bf4330609b1df518d4bb3d2b10b0d087023ef9e7caf30c0fa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.5.0.9000",
      "date": "2026-06-23T17:01:36.000Z",
      "arch": "aarch64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "0265464839755f3c7c5f5f593305d6714a3903d0c95129bd389b3cb072d1ce77",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.5.0.9000",
      "date": "2026-06-23T17:03:13.000Z",
      "arch": "x86_64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "50fc6652d727e6a90451808bc4ca1a758c32f0370dddd1baa8ba5385edeb6a41",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.5.0.9000",
      "date": "2026-06-23T17:01:58.000Z",
      "arch": "aarch64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "3cf4b262a119d5a4e2fad7bd0fae8e761e21d1a3a245ad71884a304ae9e6793d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.5.0.9000",
      "date": "2026-06-23T17:03:11.000Z",
      "arch": "x86_64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "bcc221b3eb9cad9a6516e963b9b71b54a80ae97ff215d9963a5a6f5251f8354d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.5.0.9000",
      "date": "2026-06-23T16:39:04.000Z",
      "arch": "emscripten",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "d201526b7c2f12e88ed7101c236fb0a839788f914b884313f01b71fbc287dee3",
      "status": "success",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.5.0.9000",
      "date": "2026-06-23T16:37:53.000Z",
      "arch": "x86_64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "50ad6760d855fb89787561cdc2818f8273a98d0fbcd6e2952d254e151ceac4be",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.5.0.9000",
      "date": "2026-06-23T16:37:40.000Z",
      "arch": "x86_64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "36a01ec98116913de38c3c1dc84bee803ed3cf19bd3283d91b49c98af947cc11",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.5.0.9000",
      "date": "2026-06-23T16:37:46.000Z",
      "arch": "x86_64",
      "commit": "9d6f631217c21c38aeb8ed8c0507c3f0d5f0ef5a",
      "fileid": "695d22fe85c40d58ff105f7172155d96085440a91184711f2eed13403e1cff2f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28041012450"
    }
  ]
}