authcoder.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import * as misc from '../utils/misc.js';
  2. export default (fastify, options, done) => {
  3. // 注册 /authcoder 路由
  4. fastify.get('/authcoder', async (request, reply) => {
  5. const {len, number} = request.query;
  6. // 参数校验
  7. if (!len || !number || isNaN(len) || isNaN(number)) {
  8. return reply.status(400).send('Missing or invalid required parameters: len and number');
  9. }
  10. const length = parseInt(len, 10);
  11. const count = parseInt(number, 10);
  12. if (length <= 0 || count <= 0) {
  13. return reply.status(400).send('Parameters len and number must be positive integers.');
  14. }
  15. try {
  16. // 生成随机字符串集合
  17. const result = Array.from({length: count}, () => misc.randStr(length)).join('\n');
  18. // 返回 text/plain 响应
  19. reply.type('text/plain').send(result);
  20. } catch (error) {
  21. // 异常处理
  22. fastify.log.error(error);
  23. reply.status(500).send('An error occurred while generating strings.');
  24. }
  25. });
  26. done();
  27. };