11const express = require ( 'express' ) ;
22const cache = new ( require ( './cache' ) . ApiCache ) ( ) ;
3+ const logger = ( require ( "log4js" ) ) . getLogger ( "Backend" ) ;
34const utils = require ( './utils' ) ;
45const conf = require ( './config' ) ;
56const app = express ( ) ;
67
8+ logger . level = "debug" ;
9+ app . set ( "view engine" , "ejs" ) ;
10+
711
812const isAvailableUser = ( username ) => {
913 return ( ! ! username ) && ( conf . requires . includes ( "*" ) || conf . requires . includes ( username ) ) ;
@@ -29,13 +33,18 @@ async function langStatistics(queue) {
2933 return res ;
3034}
3135
32- app . get ( '/:user/' , async function ( req , res ) {
36+ app . get ( '/' , function ( req , res ) {
37+ res . send ( "<p>User Code Analysis: <strong>/user/:user/</strong> (e.g. /user/zmh-program/)</p>" +
38+ "<p>Repo Code Statistic: <strong>/repo/:user/:repo/</strong> (e.g. /repo/zmh-program/admin-pages/)</p>" )
39+ } )
40+ app . get ( '/user/:user/' , async function ( req , res ) {
3341 const username = req . params [ 'user' ] ;
3442 if ( ! isAvailableUser ( username ) ) {
3543 res . send ( 'permission denied' ) ;
3644 return ;
3745 }
3846 const response = await cache . requestWithCache ( `/users/${ username } ` ) ;
47+ res . type ( 'svg' ) ;
3948 res . send ( {
4049 followers : response [ 'followers' ] ,
4150 repos : response [ 'public_repos' ] ,
@@ -47,14 +56,14 @@ app.get('/:user/', async function (req, res) {
4756 } ) ;
4857} ) ;
4958
50- app . get ( '/:user/:repo/' , async function ( req , res ) {
59+ app . get ( '/repo/ :user/:repo/' , async function ( req , res ) {
5160 const username = req . params [ 'user' ] , repo = req . params [ 'repo' ] ;
5261 if ( ! isAvailableUser ( username ) ) {
5362 res . send ( 'permission denied' ) ;
5463 return ;
5564 }
5665 const info = await cache . requestWithCache ( `/repos/${ username } /${ repo } ` ) ;
57-
66+ res . type ( 'svg' ) ;
5867 res . send ( {
5968 size : utils . storeConvert ( info [ 'size' ] , 1 ) ,
6069 forks : info [ 'forks' ] ,
@@ -67,4 +76,7 @@ app.get('/:user/:repo/', async function (req, res) {
6776} ) ;
6877
6978
70- app . listen ( conf . port ) ;
79+
80+ logger . info ( `Starting deployment server at http://${ conf . host } :${ conf . port } /.` )
81+
82+ app . listen ( conf . port , conf . host ) ;
0 commit comments