{
  "_id": "6a4984e96d67900babdf84de",
  "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-07-04 22:05:50 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>",
  "_user": "rexyai",
  "_type": "src",
  "_file": "RestRserve_1.2.4.tar.gz",
  "_fileid": "https://r2.ropensci.org/7d667fe63d51804cafb5f7d26a8ac40f41c680f06ec1c1180ec45e3cc36a1fd1",
  "_filesize": 965399,
  "_sha256": "7d667fe63d51804cafb5f7d26a8ac40f41c680f06ec1c1180ec45e3cc36a1fd1",
  "_expires": "2026-10-12T22:10:47.000Z",
  "_created": "2026-07-04T22:05:50.000Z",
  "_published": "2026-07-04T22:10:49.205Z",
  "_jobs": [
    {
      "job": 85170816463,
      "time": 158,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8085853143"
    },
    {
      "job": 85170816481,
      "time": 166,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8085853680"
    },
    {
      "job": 85170816492,
      "time": 154,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8085852737"
    },
    {
      "job": 85170816460,
      "time": 136,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8085850522"
    },
    {
      "job": 85170816502,
      "time": 102,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8085846988"
    },
    {
      "job": 85170816493,
      "time": 209,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8085858357"
    },
    {
      "job": 85170816504,
      "time": 97,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8085846424"
    },
    {
      "job": 85170816477,
      "time": 229,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8085860677"
    },
    {
      "job": 85170589941,
      "time": 215,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8085836221"
    },
    {
      "job": 85170816449,
      "time": 145,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 85170816455,
      "time": 142,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8085851386"
    },
    {
      "job": 85170816459,
      "time": 136,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8085850558"
    },
    {
      "job": 85170816458,
      "time": 151,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8085852084"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647",
  "_status": "success",
  "_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"
  },
  "_distro": "resolute",
  "_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",
    "followers": 9
  },
  "_downloads": {
    "count": 716,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/RestRserve"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/rexyai/restrserve",
  "_pkgdown": "https://restrserve.org",
  "_searchresults": 128,
  "_rbuild": "4.6.1",
  "_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": "16-20260322-1ubuntu1",
      "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.356652931090451,
  "_indexed": true,
  "_nocasepkg": "restrserve",
  "_universes": [
    "rexyai",
    "dselivanov"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.4",
      "date": "2026-07-04T22:08:36.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/392f9cb4e5d0d7dd4809bfc2750da131f04dd3c33af7fe85bcb680a2e6136bf3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.4",
      "date": "2026-07-04T22:08:29.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/1e957c718579203eeeb3ad2104e3dead60b4093c199d99557e182a23ab820e1f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.2.4",
      "date": "2026-07-04T22:08:31.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/a5ca3769613d7c7fb81f1b2ba788ee3921fa2ee3b24949f71236c250e74f938c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.2.4",
      "date": "2026-07-04T22:08:05.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/a697757a438b6c3dd07ad4fa3ab9247e2134b4030d7341266c0f4a25ec139256",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.4",
      "date": "2026-07-04T22:07:44.000Z",
      "arch": "aarch64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/b3e83abc4c21102baba48e1f14b8cbee6ecf27180314d4b438e5dc358eeabf02",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.4",
      "date": "2026-07-04T22:08:55.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/e8b9a86229a6d77b73a3d5d711b856d01f1dfd864929fc7ddb2434792ec30761",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.2.4",
      "date": "2026-07-04T22:07:37.000Z",
      "arch": "aarch64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/0e7fd9169b9d492d93a25b81e1f128f0ae7957a1efda39e2856cfe9edef9074a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.2.4",
      "date": "2026-07-04T22:09:09.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/df41e89efb10c9a7f2f6c3fbf341d083c05b0c96a0bcab360baabdcded9c258c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.4",
      "date": "2026-07-04T22:07:37.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/7fab2c9705208e5a26307e82ffcf06b93be48df6799ab5be287621248276ed52",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.4",
      "date": "2026-07-04T22:07:32.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/d9526b89eb92a3affd1faed2474bd2a9d9861af6d9a15cecdbc1b8b88b7e7d10",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.2.4",
      "date": "2026-07-04T22:07:30.000Z",
      "arch": "x86_64",
      "commit": "42a57660abd2c89ea3d79e2a2028a58af1c8ca31",
      "fileid": "https://r2.ropensci.org/f5f9f9f419a1f0175f30a627f468e12c48a0895edffc958129127e04f8f9ecaf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rexyai/actions/runs/28721038647"
    }
  ]
}