-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathapp.js
executable file
·92 lines (75 loc) · 2.82 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/env node
// Module dependencies.
var express = require( 'express' ) // Web framework
//, connect = require( 'connect' ) // Server
, routes = require( './routes/handle' ) // Our implement
, user = require( './routes/user' ) // Dummy
, http = require( 'http' ) // Web Server
, io = require( 'socket.io' ) // Socket.io
, path = require( 'path' ); // Path
var app = express();
app.configure(function(){
app.set( 'port', process.env.PORT || 3000 );
app.use( express.compress() );
app.use( express.favicon() );
app.use( express.logger('dev') );
app.use( express.bodyParser() );
app.use( express.methodOverride() );
app.use( app.router );
app.use( express.static( path.join( __dirname, 'public' ) ) );
});
app.configure( 'development', function() {
app.use( express.logger() );
app.use( express.errorHandler() );
});
// Register url mapping
app.get( '/users', user.list );
// 시스템
app.get( '/system/storage', routes.system.storage );
// 주소록
app.get( '/contacts', routes.contacts );
app.post( '/categories', routes.categories.add );
app.delete( '/categories/:name', routes.categories.remove ); // categories delete
app.put( '/categories/:name', routes.categories.move ); // categories name change
// 문자
app.get( '/messages', routes.sessions );
app.get( '/messages/:mid', routes.messages );
app.post( '/messages', routes.messages.send );
// 음악
app.get( '/musics', routes.musics );
app.get( /^\/musics(\/.*)/, routes.musics.download );
app.post( '/musics', routes.musics.upload ); // music upload
app.delete( /^\/musics(\/.*)/, routes.musics.remove );
app.get( '/playlists', routes.playlists );
app.get( '/playlists/:name', routes.playlists.get );
// 사진
app.get( '/photos', routes.photos );
app.get( /^\/photos(\/.*)/, routes.photos );
app.post( '/photos', routes.new );
app.post( /^\/photos(\/.*)/, routes.photos.new );
app.delete( /^\/photos(\/.*)/, routes.photos.remove );
app.put( /^\/photos(\/.+)/, routes.files.move );// 파일 이름 바꾸기
// 파일
app.get( '/files', routes.files );// 디렉토리 조회
app.get( /^\/files(\/.+)/, routes.files );// 디렉토리 조회 및 파일 다운로드
app.post( '/files', routes.files.new );// 디렉토리 생성 및 업로드
app.post( /^\/files(\/.+)/, routes.files.new );// 디렉토리 생성 및 업로드
app.delete( /^\/files(\/.+)/, routes.files.remove );// 파일 및 디렉토리 삭제
app.put( /^\/files(\/.+)/, routes.files.move );// 파일 이름 바꾸기
// Start server
io = io.listen( http
.createServer( app )
.listen( app.get('port'), function() {
console.log( "Express server listening on port " + app.get( 'port' ) );
} ) );
// Start socket.io
io.sockets.on( 'connection', function( socket ) {
socket.on( 'message', function( data ) {
socket.broadcast.send( data );
} );
socket.on( 'disconnect', function() {
} );
} );
context = {
io: io
};