{
  "_id": "6ace9185f6f39cd7e29a16c4",
  "Package": "civetwebR",
  "Type": "Package",
  "Title": "Embedded HTTP and WebSocket Server Through 'CivetWeb'",
  "Version": "0.0.1.7",
  "Authors@R": "c(\nperson(\"Troy\", \"Hernandez\", email = \"troy@cornball.ai\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0009-0005-4248-604X\")),\nperson(\"Vedo\", \"Alagic\", email = \"vedo.alagic@outlook.com\",\nrole = c(\"aut\", \"cph\"),\ncomment = \"wrote the package; github.com/vedoa/civetwebR\"),\nperson(\"cornball.ai\", role = \"cph\"),\nperson(\"The CivetWeb developers\", role = \"cph\",\ncomment = \"CivetWeb, bundled in src/civetweb.c and src/civetweb/\"),\nperson(\"Sergey\", \"Lyubka\", role = \"cph\",\ncomment = \"Mongoose, from which CivetWeb descends\"),\nperson(\"Aladdin Enterprises\", role = \"cph\",\ncomment = \"the MD5 implementation in src/civetweb/md5.inl\"),\nperson(\"L. Peter\", \"Deutsch\", role = \"ctb\",\ncomment = \"author of src/civetweb/md5.inl\"),\nperson(\"No Face Press, LLC\", role = \"ctb\",\ncomment = \"amalgamated md5.inl for CivetWeb\"),\nperson(\"Steve\", \"Reid\", role = \"ctb\",\ncomment = \"author of src/civetweb/sha1.inl (public domain)\"),\nperson(\"James H.\", \"Brown\", role = \"ctb\",\ncomment = \"src/civetweb/sha1.inl\"),\nperson(\"Saul\", \"Kravitz\", role = \"ctb\",\ncomment = \"src/civetweb/sha1.inl\"),\nperson(\"Ralph\", \"Giles\", role = \"ctb\",\ncomment = \"src/civetweb/sha1.inl\"),\nperson(\"The Mbed TLS Contributors\", role = \"cph\",\ncomment = \"Mbed TLS, bundled in src/mbedtls/\"))",
  "Copyright": "See inst/COPYRIGHTS for the bundled CivetWeb and Mbed TLS.",
  "SystemRequirements": "GNU make",
  "Description": "An embedded HTTP and WebSocket server. The bundled\n'CivetWeb' <https://github.com/civetweb/civetweb> C library\ndoes the socket work on its own threads, and R handles one\nrequest or WebSocket event at a time on its main thread, so\nhandlers need no locking. Static files are served from disk,\nTLS (Transport Layer Security) is terminated by the bundled\n'Mbed TLS' <https://github.com/Mbed-TLS/mbedtls>, and the event\nloop is exposed so an application can drive it from its own.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/cornball-ai/civetwebR",
  "BugReports": "https://github.com/cornball-ai/civetwebR/issues",
  "Encoding": "UTF-8",
  "NeedsCompilation": "yes",
  "Config/pak/sysreqs": "make",
  "Repository": "https://cornball-ai.r-universe.dev",
  "Date/Publication": "2026-10-13 19:44:05 UTC",
  "RemoteUrl": "https://github.com/cornball-ai/civetwebR",
  "RemoteRef": "HEAD",
  "RemoteSha": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
  "Packaged": {
    "Date": "2026-10-13 19:52:05 UTC",
    "User": "root"
  },
  "Author": "Troy Hernandez [aut, cre] (ORCID:\n<https://orcid.org/0009-0005-4248-604X>),\nVedo Alagic [aut, cph] (wrote the package; github.com/vedoa/civetwebR),\ncornball.ai [cph],\nThe CivetWeb developers [cph] (CivetWeb, bundled in src/civetweb.c and\nsrc/civetweb/),\nSergey Lyubka [cph] (Mongoose, from which CivetWeb descends),\nAladdin Enterprises [cph] (the MD5 implementation in\nsrc/civetweb/md5.inl),\nL. Peter Deutsch [ctb] (author of src/civetweb/md5.inl),\nNo Face Press, LLC [ctb] (amalgamated md5.inl for CivetWeb),\nSteve Reid [ctb] (author of src/civetweb/sha1.inl (public domain)),\nJames H. Brown [ctb] (src/civetweb/sha1.inl),\nSaul Kravitz [ctb] (src/civetweb/sha1.inl),\nRalph Giles [ctb] (src/civetweb/sha1.inl),\nThe Mbed TLS Contributors [cph] (Mbed TLS, bundled in src/mbedtls/)",
  "Maintainer": "Troy Hernandez <troy@cornball.ai>",
  "_user": "cornball-ai",
  "_type": "src",
  "_file": "civetwebR_0.0.1.7.tar.gz",
  "_fileid": "https://r2.ropensci.org/a39375970dbc839ee80f1199ea4207738252ccea75aa6a030a6defe0ac8f430f",
  "_filesize": 1741932,
  "_sha256": "a39375970dbc839ee80f1199ea4207738252ccea75aa6a030a6defe0ac8f430f",
  "_expires": "2027-01-21T20:16:02.000Z",
  "_created": "2026-10-13T19:52:05.000Z",
  "_published": "2026-10-13T23:22:39.163Z",
  "_buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 115506696846,
      "time": 151,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11845046528"
    },
    {
      "job": 115506696791,
      "time": 117,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11845006448"
    },
    {
      "job": 115506696958,
      "time": 150,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11844951483"
    },
    {
      "job": 115506697211,
      "time": 113,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11844946453"
    },
    {
      "job": 115506697182,
      "time": 142,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11844664523"
    },
    {
      "job": 115506697142,
      "time": 343,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11846160150"
    },
    {
      "job": 115506697100,
      "time": 121,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11845960530"
    },
    {
      "job": 115506697127,
      "time": 273,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11845687161"
    },
    {
      "job": 115505164378,
      "time": 197,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11844117986"
    },
    {
      "job": 115506696759,
      "time": 94,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11844781492"
    },
    {
      "job": 115506696995,
      "time": 264,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11844223850"
    },
    {
      "job": 115506696914,
      "time": 135,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11844991551"
    },
    {
      "job": 115506696991,
      "time": 157,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11844038583"
    },
    {
      "job": 115506697220,
      "time": 243,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11844587241"
    },
    {
      "job": 115506697110,
      "time": 146,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11844391765"
    }
  ],
  "_upstream": "https://github.com/cornball-ai/civetwebR",
  "_commit": {
    "id": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
    "author": "Troy Hernandez <troy@cornball.ai>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Maintainer, CRAN metadata, and the bundled sources' copyright roster (#7)\n\n* Maintainer, CRAN metadata, and the bundled sources' copyright roster\n\n- Troy Hernandez is the maintainer; Vedo Alagic, who wrote the package,\n  stays author and copyright holder (vedoa/civetwebR#1). URL and\n  BugReports point at cornball-ai/civetwebR.\n- Title without \"for R\"; 'CivetWeb' and 'Mbed TLS' quoted and linked;\n  a Description that says what the package does; no trailing\n  whitespace.\n- Authors@R names every holder in the bundled sources' headers:\n  Aladdin Enterprises for the MD5 implementation in md5.inl (L. Peter\n  Deutsch; the zlib-style notice is in inst/COPYRIGHTS), and the\n  public-domain SHA-1 authors of sha1.inl as contributors.\n\n* Bump version to 0.0.1.7",
    "time": 1791920645
  },
  "_maintainer": {
    "name": "Troy Hernandez",
    "email": "troy@cornball.ai",
    "login": "troyhernandez",
    "description": "",
    "uuid": 5670773,
    "orcid": "0009-0005-4248-604X"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "callr",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "cornball-ai",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-20",
      "n": 25
    },
    {
      "week": "2026-21",
      "n": 3
    },
    {
      "week": "2026-41",
      "n": 5
    },
    {
      "week": "2026-42",
      "n": 2
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "troyhernandez",
      "count": 7,
      "uuid": 5670773
    }
  ],
  "_userbio": {
    "uuid": 153995987,
    "type": "organization",
    "name": "cornball.ai",
    "followers": 23
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/civetwebR"
  },
  "_devurl": "https://github.com/cornball-ai/civetwebr",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/civetwebR.html",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "clear_handlers",
    "group",
    "handle",
    "has_tls",
    "next_event",
    "on_ws",
    "req_header",
    "req_query",
    "run_server",
    "send_response",
    "serve",
    "server_port",
    "start_server",
    "static_files",
    "stop_server",
    "unhandle",
    "ws_close",
    "ws_send"
  ],
  "_help": [
    {
      "page": "clear_handlers",
      "title": "Clear all registered handlers",
      "topics": [
        "clear_handlers"
      ]
    },
    {
      "page": "group",
      "title": "Register handlers under a common path prefix",
      "topics": [
        "group"
      ]
    },
    {
      "page": "handle",
      "title": "Register an HTTP handler",
      "topics": [
        "handle"
      ]
    },
    {
      "page": "has_tls",
      "title": "Was TLS compiled in?",
      "topics": [
        "has_tls"
      ]
    },
    {
      "page": "next_event",
      "title": "Wait for the next event",
      "topics": [
        "next_event"
      ]
    },
    {
      "page": "on_ws",
      "title": "Register WebSocket event handlers",
      "topics": [
        "on_ws"
      ]
    },
    {
      "page": "req_header",
      "title": "Helper to extract a header from a request",
      "topics": [
        "req_header"
      ]
    },
    {
      "page": "req_query",
      "title": "Helper to extract a query parameter from a request",
      "topics": [
        "req_query"
      ]
    },
    {
      "page": "run_server",
      "title": "Run the CivetWeb driver loop (single-thread safe mode)",
      "topics": [
        "run_server"
      ]
    },
    {
      "page": "send_response",
      "title": "Answer a request or a WebSocket connect",
      "topics": [
        "send_response"
      ]
    },
    {
      "page": "serve",
      "title": "Start and run the HTTP server",
      "topics": [
        "serve"
      ]
    },
    {
      "page": "server_port",
      "title": "The port a server is listening on",
      "topics": [
        "server_port"
      ]
    },
    {
      "page": "start_server",
      "title": "Start the CivetWeb server",
      "topics": [
        "start_server"
      ]
    },
    {
      "page": "static_files",
      "title": "Static file handler (serves files from a directory)",
      "topics": [
        "static_files"
      ]
    },
    {
      "page": "stop_server",
      "title": "Stop a CivetWeb server",
      "topics": [
        "stop_server"
      ]
    },
    {
      "page": "unhandle",
      "title": "Unregister an HTTP handler",
      "topics": [
        "unhandle"
      ]
    },
    {
      "page": "ws_close",
      "title": "Close a WebSocket connection from the server side",
      "topics": [
        "ws_close"
      ]
    },
    {
      "page": "ws_send",
      "title": "Send a WebSocket message",
      "topics": [
        "ws_send"
      ]
    }
  ],
  "_readme": "https://github.com/cornball-ai/civetwebR/raw/HEAD/README.md",
  "_rundeps": [],
  "_score": 2.3010299956639813,
  "_indexed": true,
  "_nocasepkg": "civetwebr",
  "_universes": [
    "cornball-ai",
    "troyhernandez"
  ],
  "_previous": "0.0.1.5",
  "_progress_url": "https://github.com/r-universe/cornball-ai/actions/runs/38483836078",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:54:30.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/bc632dd885819a0626a716d116608beb81a1e0a7cae7fe8e3eb1a60cfbeb0911",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:54:11.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/eb3d83ea99ab464dea6fad04040bc200940997fac2f0d9e44dbd47111641fbcc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:54:30.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/ec66148d9721c9d2d2b9b1c873cd5b2530489cefe95458611c865498b90fbe2d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:54:00.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/f1384b214cd6301f8dac1eb67113925ab90f20bac75a36d40a5ce2c5b97177ee",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.1.7",
      "date": "2026-10-13T20:13:35.000Z",
      "arch": "aarch64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/dcb99f65ce2163b536fd285282760d91c5bcf3b9988f594bea37670381c5e137",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.1.7",
      "date": "2026-10-13T20:10:36.000Z",
      "arch": "x86_64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/5379794ecc936a8f250ca8d61b4eb7f9d04c9ea28c287dd0da737c1e03937857",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.0.1.7",
      "date": "2026-10-13T20:06:28.000Z",
      "arch": "aarch64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/5cc7f33611e6eae8c0f01ad6a2ec03689b43e13ad925b2b59734679acf98e7cc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.0.1.7",
      "date": "2026-10-13T20:14:19.000Z",
      "arch": "x86_64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/424ce0bb1650423ff21c6069c7f9d2901201031146a3c6e870b51d7ed5a5c299",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:53:50.000Z",
      "arch": "emscripten",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/bb1419950ed195820ab8db03e84566b459b12f327eb6b4888cdf629d31b924f2",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:55:27.000Z",
      "arch": "aarch64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/3b6321c4bdc2bbe841910104421783c88e1f86ee46c17374936f40b14e083757",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:53:14.000Z",
      "arch": "x86_64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/1c9f5a11c9067fb84a33c60b66d4e1fe04a05ff9b94dbc2ba7e298fb53764044",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:53:35.000Z",
      "arch": "x86_64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/a3f68512faa53a3e284efada793c0403b156fb6e0aec6cc592c80bc7d14c59c0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:55:04.000Z",
      "arch": "aarch64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/2a52b549e5b1cf822b96312e5299e39e1cdbefa5cf79861fbc2ae29d159ea358",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.0.1.7",
      "date": "2026-10-13T19:53:25.000Z",
      "arch": "x86_64",
      "commit": "1d6f8c8217d2c7677c9ebae3bfa36d8dd95f7ffc",
      "fileid": "https://r2.ropensci.org/5eb04a8910400a8637fd884b5c8ab5bbaf443bd44abbf0e43a29e794d2f2b695",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/38457840377"
    }
  ]
}