{"_id":"@aipeli/midway-log2db","_rev":"3-39edc16a141fd28d7f9c42e2cc3614e6","name":"@aipeli/midway-log2db","dist-tags":{"latest":"1.0.9"},"versions":{"1.0.6":{"name":"@aipeli/midway-log2db","version":"1.0.6","description":"recode access api to db based on MidwayJS(koa) v3.x","main":"dist/index.js","typings":"index.d.ts","scripts":{"build":"cross-env midway-bin build -c","test":"cross-env midway-bin test --ts","cov":"cross-env midway-bin cov --ts","lint":"mwts check","lint:fix":"mwts fix"},"keywords":["midway","logger","log2db"],"author":{"name":"aipeli"},"license":"MIT","dependencies":{"ipip-ipdb":"^0.6.0","lodash":"^4.17.21","moment":"^2.29.3"},"devDependencies":{"@midwayjs/cli":"^1.2.38","@midwayjs/core":"^3.0.0","@midwayjs/decorator":"^3.0.0","@midwayjs/mock":"^3.0.0","@types/jest":"^27.4.0","@types/node":"^16.11.22","cross-env":"^6.0.0","jest":"^27.5.1","mwts":"^1.0.5","ts-jest":"^27.1.3","typescript":"^4.0.0"},"publishConfig":{"access":"public"},"gitHead":"406b91f1cbdb52b38e7716cdc6665764d6df4ba6","_id":"@aipeli/midway-log2db@1.0.6","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (win32)","dist":{"integrity":"sha512-uy5AMWum5o5bQh1VCKGzGi1oD4/sxYlm2n7l2SiVLQBEc8U+GZWaFo3Oa4p8diIAzaln6pI0bw7MRxMppVJN8Q==","shasum":"43cbf8cb030f12163e30e2dbcdc75d48a160a290","tarball":"https://registry.npmjs.org/@aipeli/midway-log2db/-/midway-log2db-1.0.6.tgz","fileCount":15,"unpackedSize":3666217,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIwjg9Enzv6EQiSTdN+sAmLqGW2qAyQfyy0v+o82Wk2AIhAKjpSsEOOWkXcu+AXqhzGaPikhi2rZcRc8InKaR38BQH"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJib/cHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNhA/+N6GaGAtnOnT9AP1nibmCf6Vg4HarHUWhTMqA5IKIMv6iJRGC\r\nJ/yL4Wcv/MNXeHWdsu8lypnRBAwFqwt6HKH+F7CoSTDnEZcQ6DnP39oUvMFj\r\nk2wqQpTs93Fgi3pxWLd+L+wNEmq7t+GvvpqOf0UpWSLQ3dv8dzOIc4ctDdTi\r\n0XE/l66AT6hH0nLTF3IHQie3VhEvFuCdMpFVLqEI7Ac0QSV/Abo3K7ku/J1i\r\nhD0PNgtChM1Hdu2nlnRfqTsj7AOgfUlYf1rwf9sWp38Htbz8Gco+szNonACi\r\nxuWARsaE6fvKtk5svJsDnjWpGTmO56Rr5/PwfQgKZRP2txpeKjlGsuPQhuNK\r\njO22SAC8yfJsq729Hv5bi/LZrB7xaL5Kx+PGbqSfAsboVQ+uv2bSkczh/GZB\r\nSfw5Vcw/3wG4jDQ/jJb6kmIGyfb4bWhiI9JuRaIMsARA6aUI0zs1ESgTU6WU\r\nKsol2sIg7kGv24QZkzfqjsshS6IUep2ZYZFybM4KeOCIpGtdGC5rMBQxoDi2\r\n8umay29DCceWHdTf8Vt8ReOfGACVquxKZPw4ybmdDe9wFVuBTU56M/EkSrjK\r\nUQKfV9v1tftB8phV1OWNAfOgcXsx0AMQC9UwOBt8+cJ3q2Dm/tgySFWI81eF\r\n1MRrvd1Fb8GfiwJjRafMk0wc6x+Yj3NkcPc=\r\n=ujzS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aipeli","email":"aipeli@163.com"},"directories":{},"maintainers":[{"name":"aipeli","email":"aipeli@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/midway-log2db_1.0.6_1651504902791_0.8284240050181784"},"_hasShrinkwrap":false},"1.0.7":{"name":"@aipeli/midway-log2db","version":"1.0.7","description":"recode access api to db based on MidwayJS(koa) v3.x","main":"dist/index.js","typings":"index.d.ts","scripts":{"build":"cross-env midway-bin build -c","test":"cross-env midway-bin test --ts","cov":"cross-env midway-bin cov --ts","lint":"mwts check","lint:fix":"mwts fix"},"keywords":["midway","logger","log2db"],"author":{"name":"aipeli"},"license":"MIT","dependencies":{"ipip-ipdb":"^0.6.0","lodash":"^4.17.21","moment":"^2.29.3"},"devDependencies":{"@midwayjs/cli":"^1.2.38","@midwayjs/core":"^3.0.0","@midwayjs/decorator":"^3.0.0","@midwayjs/mock":"^3.0.0","@types/jest":"^27.4.0","@types/node":"^16.11.22","cross-env":"^6.0.0","jest":"^27.5.1","mwts":"^1.0.5","ts-jest":"^27.1.3","typescript":"^4.0.0"},"publishConfig":{"access":"public"},"gitHead":"3639fcb60f2abafe72264886d84b703f7c716e8b","_id":"@aipeli/midway-log2db@1.0.7","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (win32)","dist":{"integrity":"sha512-1LxxzmavAh2JTpJHVxdgUtCzbvWvo6XqjK1644ZKdDo1yWY+2VdiM1rpbz3gtkZnkSqxns4huXyjx+RzkirPTA==","shasum":"ce3ce4e2c58d4b6de3378fa425810f49a9d41734","tarball":"https://registry.npmjs.org/@aipeli/midway-log2db/-/midway-log2db-1.0.7.tgz","fileCount":15,"unpackedSize":3666301,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF1YeAFyHOwda2Lpzyh9PHEn5ZiYdz4oiVaYuHgubmOFAiEA3+zqxzo4DzJc5w/DpwT5PnsVN+jLuKdmVHqt1LvLPkk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJib/2mACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmphhg/+Lbe3X7GGNG3OEyvmH+Kekfj4p5QsIhkm0Z1JxF30o4YmbgDG\r\nvC7HLdoeB4fqQhmFXcRMfXDTrl4525bSkPjd0yFyS6cN5dnmGPMrsR1CnE6V\r\nCE/6VBeKnQGyYePi4L0MyVlhD5bxhB2N9RKNEM8apeTDfcj1rCzO5yBx4w32\r\nU06dTVaxnyDu42qilG/zOGKE0Y/yRFIrtj2ctXWoXWQSvJSxqZHd64HQHIyQ\r\nJpKyz3GMZdItVNUFchSm8zmJzktztLWhrqd29RMUKN5L6Kh2UtTKjtzcCFsT\r\nSUHmgO+4eli9Se+H8Gd9H6Gsa1D3eYS6V/oN3UAOiviYLh/jqPgEwbM8Y62p\r\nqwy/nCfoCmYa3XGcS9VbGL7JA3JQP3y6AXFNZR0OUS0UVkDcaTqYN0cd6Lnm\r\nYclLQc0yv1nhVmWCxxEvvDs9/ppwdfzbke12aJ24zTZGTOP7OagwOpdn4goL\r\nspKqnnnv1ivDsxJa02OzY701xUDYQE3KRbu+ioCwHPDxlGqgvcYXsZh+zXHc\r\nSSBVhINR7uBjO2g6rWCMR7IRoZQ1hj/30bN/ID0Fc2W+ak/jozlCyge8Doyp\r\nVag5WRjP5i4h0OQvgRPDXMeaT35lsnXPZWfJfGGiuVVxQSz/y1JnZJu56tAi\r\neo4m0DZ4evavucam3qZw//6VP4CZMtoJ4sc=\r\n=eOnd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aipeli","email":"aipeli@163.com"},"directories":{},"maintainers":[{"name":"aipeli","email":"aipeli@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/midway-log2db_1.0.7_1651506598474_0.7347938792807867"},"_hasShrinkwrap":false},"1.0.8":{"name":"@aipeli/midway-log2db","version":"1.0.8","description":"recode access api to db based on MidwayJS(koa) v3.x","main":"dist/index.js","typings":"index.d.ts","scripts":{"build":"cross-env midway-bin build -c","test":"cross-env midway-bin test --ts","cov":"cross-env midway-bin cov --ts","lint":"mwts check","lint:fix":"mwts fix"},"keywords":["midway","logger","log2db"],"author":{"name":"aipeli"},"license":"MIT","dependencies":{"ipip-ipdb":"^0.6.0","lodash":"^4.17.21","moment":"^2.29.3"},"devDependencies":{"@midwayjs/cli":"^1.2.38","@midwayjs/core":"^3.0.0","@midwayjs/decorator":"^3.0.0","@midwayjs/mock":"^3.0.0","@types/jest":"^27.4.0","@types/node":"^16.11.22","cross-env":"^6.0.0","jest":"^27.5.1","mwts":"^1.0.5","ts-jest":"^27.1.3","typescript":"^4.0.0"},"publishConfig":{"access":"public"},"gitHead":"18ba3db79274617ec8c2a760952f629365f3e0d6","_id":"@aipeli/midway-log2db@1.0.8","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (win32)","dist":{"integrity":"sha512-lkBMMI8iJpEpPK4JxEpdj+yIT5Wgg1OYTKMvby49zYb5ttP/9llZq8yuBjB1U5H2TdVQ/goXcYyjaiS1v1/P1g==","shasum":"25f03a297246e6dc5b743e6ebbd48f7322361f19","tarball":"https://registry.npmjs.org/@aipeli/midway-log2db/-/midway-log2db-1.0.8.tgz","fileCount":15,"unpackedSize":3666862,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH1Dmwb29U45MTs/W+0ykJrMsgSVW20cAfgiuE9+LNg9AiBGx8s0J84ytNKpOujGVCXNLEqL+XTET90YRz7LEiE1DQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicAfgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTnA/+OH+vii503i1APw5bJZFVhgPffQDQRTZ/u0dWmc6t6mRnYsSt\r\nJpoNe6tJMAU49QV5NBIu47wbvCM8qfrxh+GPRaIN/5CpkK0Mmr9iDa91/i+D\r\najP+OkT2TIWZDYCy4YlRFXckbdnwyAQXbbORRjwbO4Vbp7Bpwfy9zaScerd8\r\nYYUA9EhPq/1KfVVv0iuk6hAbDLi4LSkdBslQ95M2aHgS80/syPCbQot4F/m+\r\nADwulri8RTRXwC/i0lDIPjCR5R9Wg1uA0vxSAD9LP/3lWfiu33kDc3jQj/it\r\nhEYU4A4gWgfKiSi1eD//6qjqRsEL87VcBXp6tCiCxBC9ttLbM/hiZ6IF+p3d\r\nMocN6J4aRr9X0nMv77uGR9VfSp1AxrmOv+b+0H7j58fgRqPfXuDjFIZ8Kp50\r\n4lqKS1sU++S806ktkMoEmya6YtMX1RWdtJU9i/yMnHb4JDaFdTFaUlbgJmHl\r\nyBN/jhdLzBFNFjP4RN4RLNfx4I/rr1T+EUTAI9FAuxt9byqRZMTe/x3q9okY\r\niWskQXdA+oZLC0O3NIWSfzpSG5QDVJYAe9ZVTqDLApcQKdC4l/aVMfdeesfI\r\nzdOj23m72EqFUn+OCUXCeCDbW2PNXwC89tLvjJdf5rLhTnvHngIXKbmWZ1zQ\r\n0AclzozJsC982DFqj4Pxshk6RuM5sF/quKY=\r\n=VqSO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aipeli","email":"aipeli@163.com"},"directories":{},"maintainers":[{"name":"aipeli","email":"aipeli@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/midway-log2db_1.0.8_1651509215952_0.3384894276835495"},"_hasShrinkwrap":false},"1.0.9":{"name":"@aipeli/midway-log2db","version":"1.0.9","description":"Recode access api to db based on MidwayJS(koa) v3.x","main":"dist/index.js","typings":"index.d.ts","scripts":{"build":"cross-env midway-bin build -c","test":"cross-env midway-bin test --ts","cov":"cross-env midway-bin cov --ts","lint":"mwts check","lint:fix":"mwts fix"},"keywords":["midway","logger","log2db"],"author":{"name":"aipeli"},"license":"MIT","dependencies":{"ipip-ipdb":"^0.6.0","lodash":"^4.17.21","moment":"^2.29.3"},"devDependencies":{"@midwayjs/cli":"^1.2.38","@midwayjs/core":"^3.0.0","@midwayjs/decorator":"^3.0.0","@midwayjs/mock":"^3.0.0","@types/jest":"^27.4.0","@types/node":"^16.11.22","cross-env":"^6.0.0","jest":"^27.5.1","mwts":"^1.0.5","ts-jest":"^27.1.3","typescript":"^4.0.0"},"repository":{"type":"git","url":"git+https://github.com/aipeli/midway.git"},"bugs":{"url":"https://github.com/aipeli/midway/issues"},"homepage":"https://github.com/aipeli/midway#readme","publishConfig":{"access":"public"},"gitHead":"f56bbe13c1f05783d70868b593cbb23d116f3164","_id":"@aipeli/midway-log2db@1.0.9","_nodeVersion":"16.13.1","_npmVersion":"lerna/4.0.0/node@v16.13.1+x64 (win32)","dist":{"integrity":"sha512-TwahhLzb+LP+pCO6UP3f2nyQdOut3T+DmtvnRzP8NomYuyNPlJ1/YnPzzglamm6wfy+EhAkq2NwDdvOx4W2LzQ==","shasum":"095c70dd8368acf3ec27022778ee69d38c61d2ac","tarball":"https://registry.npmjs.org/@aipeli/midway-log2db/-/midway-log2db-1.0.9.tgz","fileCount":15,"unpackedSize":3670930,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHuW6w+1g55hlv7jdr2/9t/x5BhdjM1y1/rQa2JPvj2vAiB2cmODhcKyMMkQo0djF/NmPX+R7heVoAypQaYvHewSfg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicosYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqw5A//WQitbYMMDMBMw42NRagxicwn/1l2Tzzlg4vX+VuXZJ3qSIjk\r\n3cnlSK0WQ+lOQ+1EUfrGCNE9w/JvUhMvzSbDLq1QNioj+3c3604zs1pT8tuI\r\n4Y+IPtX8TlhzTjGh+7BpiI1f2zmbh5VFWhPULf0EMDbKSiLyatesdePCzNGU\r\niqcg2h5aKc/WBi4Dl5EePIoKX6sQiACZmJTPsw2a3ibgQrKW6Y9K4BWvufn4\r\nRs4KyC9elGPtNaeOXkazL0yVvDkKgP4d6R9cTkLam2o0UXsPKS48i8OrHA2s\r\noVQMSy5LKnqxMPSER7s0dPybU9IX5ndWyRke/U0NrcMBOzzNAGVrg1IdK/K8\r\n3JAot14fBGWq+eLyrd0ONZuruRtxeacCN26rR3nKFHpwmBhgphUJu9yncMkH\r\npIL+q1sdEY1lS6byzRTTNX8ot8VpB8WXUq2tqpPaO8xJLn8/st8ba89sqQ2R\r\n/MYEVIiAnr5kqu6GojNA43/zZT5gZzVKGkEQOFTXgFIWcGa0sQQeH2z8gqj7\r\nVKlSjmAkP9EO04qSp12mQkBtT6hES1zTHIrQINpH7H3l4vi2nXQv3p/45oQF\r\nkV7m4t+6uuZcxpt+ijHHIhm+uZ7jAN7FwLXlx1jIEeYeOzaMtkpLsEMhy7E9\r\nKQ9OJgzKUGX1Tr4rn11YYBv3FOc7L1maz4M=\r\n=RiAD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"aipeli","email":"aipeli@163.com"},"directories":{},"maintainers":[{"name":"aipeli","email":"aipeli@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/midway-log2db_1.0.9_1651673880447_0.7840678889098203"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-02T15:21:42.714Z","1.0.6":"2022-05-02T15:21:43.044Z","modified":"2022-05-04T14:18:00.713Z","1.0.7":"2022-05-02T15:49:58.700Z","1.0.8":"2022-05-02T16:33:36.237Z","1.0.9":"2022-05-04T14:18:00.657Z"},"maintainers":[{"name":"aipeli","email":"aipeli@163.com"}],"description":"Recode access api to db based on MidwayJS(koa) v3.x","keywords":["midway","logger","log2db"],"author":{"name":"aipeli"},"license":"MIT","readme":"<h1 align=\"center\">🎉🚀midway-log2db🎉👋</h1>\n<p>\n  <a href=\"https://www.npmjs.com/package/@aipeli/midway-log2db\" target=\"_blank\">\n    <img alt=\"Version\" src=\"https://img.shields.io/npm/v/@aipeli/midway-log2db.svg?color=succed\">\n  </a>\n <a href=\"https://opensource.org/licenses/MIT\" target=\"_blank\"> <img alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg \" /> </a>\n  <img src=\"https://img.shields.io/badge/midway-%3E%3D3.0.0-blue.svg\" />  \n</p>\n\n\n\n\n## 🏠 [项目主页](https://github.com/aipeli/midway#readme)\n\n> 记录API访问日志并保存到数据中,自动识别来访问者IP地址位置、用户代理信息等\n\n> Recode access api to db based on MidwayJS(koa) v3.x\n\n\n## 📦 环境要求\n\n- midway &gt;=3.x   \n\n## 🛠️ 安装\n\n```sh\npnpm install @aipeli/midway-log2db\n```\n\n \n## ✍️ 用法\n\n```typescript\nimport { Crud, BaseController } from '@aipeli/midway-crud';\nimport { Log2DbService } from '@aipeli/midway-log2db';\nimport { Get, Inject } from '@midwayjs/decorator';\nimport { Context } from '@midwayjs/koa';\n\n@Crud('/log2db')\nexport class ShopAdminLog2DbController extends BaseController {\n  @Inject()\n  ctx: Context;\n  @Inject()\n  log2db: Log2DbService;\n  \n  /**\n   * 保存日志记录\n   * http://127.0.0.1:7001/admin/shop/log2db/record\n   * @returns 返回保存日志记录的ID\n   */\n  @Get('/record')\n  async record() {\n    const result_data = await this.log2db.record(\n      this.ctx,\n      this.ctx.url.split('?')[0],\n      this.ctx.req.method === 'GET'\n        ? this.ctx.request.query\n        : this.ctx.request.body,\n      this.ctx.admin ? this.ctx.admin.userId : 1,\n      this.ctx.request.header['user-agent']\n    );\n    return { success: true, message: 'OK', data: result_data };\n  }\n\n  /**\n   * 清除日志\n   * http://127.0.0.1:7001/admin/shop/log2db/clear\n   */\n  @Get('/clear')\n  async clear() {\n    // 清除全部日志\n    await this.log2db.clear();\n    await this.log2db.clear(0, true);\n    // 清除3天前的日志\n    await this.log2db.clear(3, false);\n\n  }\n}\n```\n## 🧪 配置\n\n> 配置 `config/config.default.ts`\n``` typescript\nimport { MidwayConfig } from '@midwayjs/core';\n\nexport default {\n  // use for cookie sign key, should change to your own and keep security\n  keys: '1644208064112_2754',\n  koa: {\n    port: 7001,\n  },\n  orm: {\n    /**\n     * 单数据库实例\n     */\n    default: {\n      type: 'mysql',\n      host: '127.0.0.1',\n      port: 3306,\n      username: 'root',\n      password: 'root',\n      database: 'midway_crud',\n      synchronize: true, // 如果第一次使用，不存在表，有同步的需求可以写 true\n      logging: false,\n    },\n  },\n  log2db: {\n    ipdb: '/ipdb/ipipfree.ipdb'\n  }\n} as MidwayConfig;\n```\n\n> 配置 `/configuration.ts`\n\n``` typescript\nimport { Configuration, App } from '@midwayjs/decorator';\nimport * as koa from '@midwayjs/koa';\nimport * as validate from '@midwayjs/validate';\nimport * as info from '@midwayjs/info';\nimport { join } from 'path';\nimport * as crud from '@aipeli/midway-crud';\nimport * as log2db from '@aipeli/midway-log2db';\n@Configuration({\n  imports: [\n    koa,\n    validate,\n    crud,\n    log2db,\n    {\n      component: info,\n      enabledEnvironment: ['local'],\n    },\n  ],\n  importConfigs: [join(__dirname, './config')],\n})\nexport class ContainerLifeCycle {\n  @App()\n  app: koa.Application;\n\n  async onReady() {\n\n  }\n}\n```\n\n\n## 🧑 开发人员\n\n- 🧑 aipeli  \n  - 🌏 Website: http://www.fast-js.com \n  - 💼 GitHub: [@aipeli/midway](https://github.com/aipeli/midway)   \n\n## 🤝 贡献\n\n欢迎投稿、问题和功能请求！ [issues 地址](https://github.com/aipeli/midway/issues). \n\n## ⭐️ 支持\n\n如果项目对你有帮助，请给我一个 start⭐️ 吧! \n- 💼 GitHub: [@aipeli/midway](https://github.com/aipeli/midway)  \n\n## 📝 License\n\n Copyright © 2022 [aipeli](https://github.com/aipeli).  This project is [MIT](LICENSE) licensed. \n\n---\n\n_This README was generated with ❤️ by [fast-readme](https://www.npmjs.com/package/@fastjsui/fast-readme)_\n","readmeFilename":"README.md","homepage":"https://github.com/aipeli/midway#readme","repository":{"type":"git","url":"git+https://github.com/aipeli/midway.git"},"bugs":{"url":"https://github.com/aipeli/midway/issues"}}