{
  "_id": "6a1bd37e1d7bb097a0a14e7a",
  "Package": "RestRserve",
  "Type": "Package",
  "Title": "A Framework for Building HTTP API",
  "Description": "Allows to easily create high-performance full featured\nHTTP APIs from R functions. Provides high-level classes such as\n'Request', 'Response', 'Application', 'Middleware' in order to\nstreamline server side application development. Out of the box\nallows to serve requests using 'Rserve' package, but flexible\nenough to integrate with other HTTP servers such as 'httpuv'.",
  "Version": "1.2.4",
  "Authors@R": "c(\nperson(given = \"Dmitry\",\nfamily = \"Selivanov\",\nrole = c(\"aut\", \"cre\"),\nemail = \"selivanov.dmitriy@gmail.com\",\ncomment = c(ORCID = \"0000-0001-5413-1506\")),\nperson(given = \"Artem\",\nfamily = \"Klevtsov\",\nrole = \"aut\",\nemail = \"a.a.klevtsov@gmail.com\",\ncomment = c(ORCID = \"0000-0003-0492-6647\")),\nperson(given = \"David\",\nfamily = \"Zimmermann\",\nrole = \"ctb\",\nemail = \"david_j_zimmermann@hotmail.com\"),\nperson(given = \"rexy.ai\",\nrole = c(\"cph\", \"fnd\")))",
  "URL": "https://restrserve.org, https://github.com/rexyai/RestRserve",
  "BugReports": "https://github.com/rexyai/RestRserve/issues",
  "License": "GPL (>= 2)",
  "ByteCompile": "true",
  "KeepSource": "true",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE, roclets = c(\"rd\", \"namespace\",\n\"collate\"))",
  "RoxygenNote": "7.3.1",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "make",
  "Repository": "https://rexyai.r-universe.dev",
  "Date/Publication": "2025-03-18 05:55:20 UTC",
  "RemoteUrl": "https://github.com/rexyai/restrserve",
  "RemoteRef": "HEAD",
  "RemoteSha": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-31 06:09:26 UTC",
    "User": "root"
  },
  "Author": "Dmitry Selivanov [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-5413-1506>),\nArtem Klevtsov [aut] (ORCID: <https://orcid.org/0000-0003-0492-6647>),\nDavid Zimmermann [ctb],\nrexy.ai [cph, fnd]",
  "Maintainer": "Dmitry Selivanov <selivanov.dmitriy@gmail.com>",
  "MD5sum": "8eba2558fba9f4e2b9fd7d70f8835441",
  "_user": "rexyai",
  "_type": "src",
  "_file": "RestRserve_1.2.4.tar.gz",
  "_fileid": "073e11582dba10601ea0061568899533dd58d3544ca98cbc96431d4e4f7acbc1",
  "_filesize": 962461,
  "_sha256": "073e11582dba10601ea0061568899533dd58d3544ca98cbc96431d4e4f7acbc1",
  "_created": "2026-05-31T06:09:26.000Z",
  "_published": "2026-05-31T06:21:50.177Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78704543441,
      "time": 170,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7314326099"
    },
    {
      "job": 78704543451,
      "time": 169,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7314325920"
    },
    {
      "job": 78704543464,
      "time": 159,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314324930"
    },
    {
      "job": 78704543459,
      "time": 148,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314323799"
    },
    {
      "job": 78704543409,
      "time": 101,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7314350283"
    },
    {
      "job": 78704543412,
      "time": 231,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7314365219"
    },
    {
      "job": 78704543415,
      "time": 109,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314354615"
    },
    {
      "job": 78704543437,
      "time": 252,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314378518"
    },
    {
      "job": 78704322556,
      "time": 250,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314307382"
    },
    {
      "job": 78704543417,
      "time": 115,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78704543435,
      "time": 175,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7314326479"
    },
    {
      "job": 78704543403,
      "time": 132,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7314321940"
    },
    {
      "job": 78704543422,
      "time": 139,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7314322652"
    }
  ],
  "_buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/rexyai/restrserve",
  "_commit": {
    "id": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
    "author": "Dmitry Selivanov <selivanov.dmitriy@gmail.com>",
    "committer": "Dmitry Selivanov <selivanov.dmitriy@gmail.com>",
    "message": "1.2.4\n",
    "time": 1742277320
  },
  "_maintainer": {
    "name": "Dmitry Selivanov",
    "email": "selivanov.dmitriy@gmail.com",
    "login": "dselivanov",
    "twitter": "@rexyai",
    "description": "",
    "uuid": 5123805,
    "orcid": "0000-0001-5413-1506"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.6.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "Rserve",
      "version": ">= 1.7.3",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.3",
      "role": "Imports"
    },
    {
      "package": "R6",
      "version": ">= 2.4.0",
      "role": "Imports"
    },
    {
      "package": "uuid",
      "version": ">= 0.1-2",
      "role": "Imports"
    },
    {
      "package": "checkmate",
      "version": ">= 1.9.4",
      "role": "Imports"
    },
    {
      "package": "mime",
      "version": ">= 0.7",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "version": ">= 1.6",
      "role": "Imports"
    },
    {
      "package": "digest",
      "version": ">= 0.6.29",
      "role": "Imports"
    },
    {
      "package": "tinytest",
      "version": ">= 1.0.0",
      "role": "Suggests"
    },
    {
      "package": "lgr",
      "version": ">= 0.3.2",
      "role": "Suggests"
    },
    {
      "package": "lintr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "curl",
      "role": "Suggests"
    },
    {
      "package": "sys",
      "role": "Suggests"
    }
  ],
  "_owner": "rexyai",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [],
  "_tags": [],
  "_topics": [
    "http-server",
    "openapi",
    "rest-api",
    "swagger-ui",
    "cpp"
  ],
  "_stars": 296,
  "_contributors": [
    {
      "user": "dselivanov",
      "count": 449,
      "uuid": 5123805
    },
    {
      "user": "artemklevtsov",
      "count": 181,
      "uuid": 603798
    },
    {
      "user": "davzim",
      "count": 5,
      "uuid": 15910496
    },
    {
      "user": "hafen",
      "count": 2,
      "uuid": 1275592
    },
    {
      "user": "sambaala",
      "count": 1,
      "uuid": 6370577
    },
    {
      "user": "schloerke",
      "count": 1,
      "uuid": 93231
    },
    {
      "user": "jangorecki",
      "count": 1,
      "uuid": 3627377
    },
    {
      "user": "jonekeat",
      "count": 1,
      "uuid": 51594799
    },
    {
      "user": "michaelchirico",
      "count": 1,
      "uuid": 7606389
    }
  ],
  "_userbio": {
    "uuid": 57891767,
    "type": "organization",
    "name": "rexy.ai"
  },
  "_downloads": {
    "count": 615,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/RestRserve"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/rexyai/restrserve",
  "_pkgdown": "https://restrserve.org",
  "_searchresults": 107,
  "_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/RestRserve.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/rexyai/restrserve",
  "_realowner": "rexyai",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2020-02-28"
    },
    {
      "version": "0.2.0.1",
      "date": "2020-03-02"
    },
    {
      "version": "0.2.0.2",
      "date": "2020-03-09"
    },
    {
      "version": "0.2.1",
      "date": "2020-03-28"
    },
    {
      "version": "0.2.2",
      "date": "2020-04-12"
    },
    {
      "version": "0.3.0",
      "date": "2020-06-14"
    },
    {
      "version": "0.4.0",
      "date": "2020-11-11"
    },
    {
      "version": "0.4.1",
      "date": "2021-01-04"
    },
    {
      "version": "1.0.0",
      "date": "2022-03-27"
    },
    {
      "version": "1.1.0",
      "date": "2022-04-14"
    },
    {
      "version": "1.1.1",
      "date": "2022-04-20"
    },
    {
      "version": "1.2.0",
      "date": "2022-06-09"
    },
    {
      "version": "1.2.1",
      "date": "2022-09-12"
    },
    {
      "version": "1.2.2",
      "date": "2024-04-15"
    },
    {
      "version": "1.2.3",
      "date": "2024-05-21"
    },
    {
      "version": "1.2.4",
      "date": "2025-03-14"
    }
  ],
  "_exports": [
    ".req",
    ".res",
    "Application",
    "AuthBackendBasic",
    "AuthBackendBearer",
    "AuthMiddleware",
    "BackendRserve",
    "CORSMiddleware",
    "EncodeDecodeMiddleware",
    "ETagMiddleware",
    "HTTPError",
    "Logger",
    "Middleware",
    "raise",
    "Request",
    "Response",
    "to_json"
  ],
  "_help": [
    {
      "page": "Application",
      "title": "Creates application - RestRserve usage starts from here",
      "topics": [
        "Application"
      ]
    },
    {
      "page": "ApplicationProcess",
      "title": "Creates ApplicationProcess object",
      "topics": [
        "ApplicationProcess"
      ]
    },
    {
      "page": "AuthBackendBasic",
      "title": "Basic authorization backend",
      "concept": [
        "AuthBackend"
      ],
      "topics": [
        "AuthBackendBasic"
      ]
    },
    {
      "page": "AuthBackendBearer",
      "title": "Bearer token authorization backend",
      "concept": [
        "AuthBackend"
      ],
      "topics": [
        "AuthBackendBearer"
      ]
    },
    {
      "page": "AuthMiddleware",
      "title": "Creates authorization middleware object",
      "concept": [
        "AuthBackend"
      ],
      "topics": [
        "AuthMiddleware"
      ]
    },
    {
      "page": "BackendRserve",
      "title": "Creates Rserve backend for processing HTTP requests",
      "topics": [
        "BackendRserve"
      ]
    },
    {
      "page": "CORSMiddleware",
      "title": "Creates CORS middleware object",
      "topics": [
        "CORSMiddleware"
      ]
    },
    {
      "page": "EncodeDecodeMiddleware",
      "title": "Creates EncodeDecodeMiddleware middleware object",
      "topics": [
        "EncodeDecodeMiddleware"
      ]
    },
    {
      "page": "ETagMiddleware",
      "title": "Creates ETag middleware object",
      "topics": [
        "ETagMiddleware"
      ]
    },
    {
      "page": "HTTPDate-class",
      "title": "HTTP Date class",
      "topics": [
        "HTTPDate-class"
      ]
    },
    {
      "page": "IDE-hints",
      "title": "request and reponse placeholders for IDE hints",
      "topics": [
        ".req",
        ".res",
        "IDE-hints"
      ]
    },
    {
      "page": "Logger",
      "title": "Simple logging utility",
      "topics": [
        "Logger"
      ]
    },
    {
      "page": "Middleware",
      "title": "Creates middleware object",
      "topics": [
        "Middleware"
      ]
    },
    {
      "page": "raise",
      "title": "Interrupts request processing",
      "topics": [
        "raise"
      ]
    },
    {
      "page": "Request",
      "title": "Creates Request object",
      "topics": [
        "Request"
      ]
    },
    {
      "page": "Response",
      "title": "Creates Response object",
      "topics": [
        "Response"
      ]
    },
    {
      "page": "to_json",
      "title": "Simple JSON encoder",
      "topics": [
        "to_json"
      ]
    }
  ],
  "_pkglogo": "https://github.com/rexyai/restrserve/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/rexyai/restrserve/raw/HEAD/README.md",
  "_rundeps": [
    "backports",
    "checkmate",
    "digest",
    "jsonlite",
    "mime",
    "R6",
    "Rcpp",
    "Rserve",
    "uuid"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "Authentication.Rmd",
      "filename": "Authentication.html",
      "title": "Authentication",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Basic",
        "Bearer"
      ],
      "created": "2019-11-13 11:34:14",
      "modified": "2024-04-18 01:51:29",
      "commits": 3
    },
    {
      "source": "ContentHandlers.Rmd",
      "filename": "ContentHandlers.html",
      "title": "Body encoding and decoding",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Encoding",
        "Decoding",
        "Extending encoding and decoding"
      ],
      "created": "2019-11-13 11:34:14",
      "modified": "2020-11-10 19:48:00",
      "commits": 7
    },
    {
      "source": "Logging.Rmd",
      "filename": "Logging.html",
      "title": "Logging",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2019-11-13 11:34:14",
      "modified": "2020-11-10 19:48:00",
      "commits": 3
    },
    {
      "source": "Middleware.Rmd",
      "filename": "Middleware.html",
      "title": "Middleware",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Middleware",
        "Logging",
        "Middleware order",
        "Compression"
      ],
      "created": "2019-11-13 11:34:14",
      "modified": "2022-04-13 08:42:01",
      "commits": 5
    },
    {
      "source": "RestRserve.Rmd",
      "filename": "RestRserve.html",
      "title": "Quick Start Guide",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Workflow overview",
        "1. Create application",
        "2. Define logic",
        "2. Register endpoint",
        "3. Test endpoints",
        "4. Add OpenAPI description and Swagger UI",
        "5. Start the app",
        "6. Test it"
      ],
      "created": "2019-10-27 10:46:47",
      "modified": "2025-03-18 05:55:20",
      "commits": 9
    }
  ],
  "_score": 9.278826739127792,
  "_indexed": true,
  "_nocasepkg": "restrserve",
  "_universes": [
    "rexyai",
    "dselivanov"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.4",
      "date": "2026-05-31T06:12:17.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "8afbae6632d818be64564c427ad5975fd8047d3f56ad558c4d467e3f684a92e8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.4",
      "date": "2026-05-31T06:12:13.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "1cdc2a6f0f6246a65b3062aeb106579d8095a298f4dd527e9a01b051d02b1f42",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.2.4",
      "date": "2026-05-31T06:12:05.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "cc9f72eb8035c7fbe8fa5772b9a8fd2c866af08dfd179e5b5dccc796f7dc4a9c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.2.4",
      "date": "2026-05-31T06:11:53.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "a9ec1c2d3339c833b5f40bbcff50eaf26f8cb6c940ff62e64ed7242fcf62eee3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.4",
      "date": "2026-05-31T06:16:20.000Z",
      "arch": "aarch64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "0aea3ee12057d776e10ee4942c83b58b63f9157419e1a3178dc3f2c8a3f1b7b4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.4",
      "date": "2026-05-31T06:18:09.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "e3da4d7567626f2b34d67f8e696e762111c8dbeefd4803e3383663dc0e78485c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.2.4",
      "date": "2026-05-31T06:17:02.000Z",
      "arch": "aarch64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "fbdd9035a4f67f3670cb81f4467c9e98f82258e33c9fcb22b0980ea0e0b8c06c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.2.4",
      "date": "2026-05-31T06:20:14.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "7650a1f37000ebff7d8d598c6913837e7f3e1d52f774460a77d3d0178da90439",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.4",
      "date": "2026-05-31T06:11:09.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "3c2bb49eba6b2b879c3a19fcc5d8db7a766f170c8484ec74ff00c69e35ebd7f5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.4",
      "date": "2026-05-31T06:11:01.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "0f65bd00bec9eb04c4c3cd1837e7b29737ab060d07775ad563b300d098934111",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.2.4",
      "date": "2026-05-31T06:11:10.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "5a6076ae9c9e91b8f10f37ed34bb97a53b98133e0c421d76cb62ccd9a4fb08f5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/26704957882"
    }
  ]
}