@@ -16,7 +16,7 @@ use crate::utils::url_encode_bytes;
16
16
use super :: common:: * ;
17
17
18
18
#[ derive( Deserialize , Debug ) ]
19
- pub struct HttpAnnounceRequest {
19
+ pub struct AnnounceRequest {
20
20
pub downloaded : NumberOfBytes ,
21
21
pub uploaded : NumberOfBytes ,
22
22
pub key : String ,
@@ -28,34 +28,34 @@ pub struct HttpAnnounceRequest {
28
28
pub compact : Option < u8 > ,
29
29
}
30
30
31
- impl HttpAnnounceRequest {
31
+ impl AnnounceRequest {
32
32
pub fn is_compact ( & self ) -> bool {
33
33
self . compact . unwrap_or ( 0 ) == 1
34
34
}
35
35
}
36
36
37
37
#[ derive( Deserialize , Debug ) ]
38
- pub struct HttpScrapeRequest {
38
+ pub struct ScrapeRequest {
39
39
pub info_hash : String ,
40
40
}
41
41
42
42
#[ derive( Serialize ) ]
43
- struct HttpPeer {
43
+ struct Peer {
44
44
peer_id : String ,
45
45
ip : IpAddr ,
46
46
port : u16 ,
47
47
}
48
48
49
49
#[ derive( Serialize ) ]
50
- struct HttpAnnounceResponse {
50
+ struct AnnounceResponse {
51
51
interval : u32 ,
52
52
//tracker_id: String,
53
53
complete : u32 ,
54
54
incomplete : u32 ,
55
- peers : Vec < HttpPeer >
55
+ peers : Vec < Peer >
56
56
}
57
57
58
- impl HttpAnnounceResponse {
58
+ impl AnnounceResponse {
59
59
pub fn write ( & self ) -> String {
60
60
serde_bencode:: to_string ( & self ) . unwrap ( )
61
61
}
@@ -103,29 +103,29 @@ impl HttpAnnounceResponse {
103
103
}
104
104
105
105
#[ derive( Serialize ) ]
106
- struct HttpScrapeResponse {
107
- files : HashMap < String , HttpScrapeResponseEntry >
106
+ struct ScrapeResponse {
107
+ files : HashMap < String , ScrapeResponseEntry >
108
108
}
109
109
110
- impl HttpScrapeResponse {
110
+ impl ScrapeResponse {
111
111
pub fn write ( & self ) -> String {
112
112
serde_bencode:: to_string ( & self ) . unwrap ( )
113
113
}
114
114
}
115
115
116
116
#[ derive( Serialize ) ]
117
- struct HttpScrapeResponseEntry {
117
+ struct ScrapeResponseEntry {
118
118
complete : u32 ,
119
119
downloaded : u32 ,
120
120
incomplete : u32 ,
121
121
}
122
122
123
123
#[ derive( Serialize ) ]
124
- struct HttpErrorResponse {
124
+ struct ErrorResponse {
125
125
failure_reason : String
126
126
}
127
127
128
- impl warp:: Reply for HttpErrorResponse {
128
+ impl warp:: Reply for ErrorResponse {
129
129
fn into_response ( self ) -> warp:: reply:: Response {
130
130
Response :: new ( format ! ( "{}" , serde_bencode:: to_string( & self ) . unwrap( ) ) . into ( ) )
131
131
}
@@ -167,7 +167,7 @@ impl HttpServer {
167
167
debug ! ( "Request: {}" , raw_query) ;
168
168
( remote_addr, key, raw_query, query, hs1. clone ( ) )
169
169
} )
170
- . and_then ( move |( remote_addr, key, raw_query, mut query, http_server) : ( Option < SocketAddr > , Option < String > , String , HttpAnnounceRequest , Arc < HttpServer > ) | {
170
+ . and_then ( move |( remote_addr, key, raw_query, mut query, http_server) : ( Option < SocketAddr > , Option < String > , String , AnnounceRequest , Arc < HttpServer > ) | {
171
171
async move {
172
172
if remote_addr. is_none ( ) { return HttpServer :: send_error ( "could not get remote address" ) }
173
173
@@ -232,14 +232,14 @@ impl HttpServer {
232
232
info_hashes
233
233
}
234
234
235
- fn send_announce_response ( query : & HttpAnnounceRequest , torrent_stats : TorrentStats , peers : Vec < TorrentPeer > , interval : u32 ) -> Result < warp:: reply:: Response , Infallible > {
236
- let http_peers: Vec < HttpPeer > = peers. iter ( ) . map ( |peer| HttpPeer {
235
+ fn send_announce_response ( query : & AnnounceRequest , torrent_stats : TorrentStats , peers : Vec < TorrentPeer > , interval : u32 ) -> Result < warp:: reply:: Response , Infallible > {
236
+ let http_peers: Vec < Peer > = peers. iter ( ) . map ( |peer| Peer {
237
237
peer_id : String :: from_utf8_lossy ( & peer. peer_id . 0 ) . to_string ( ) ,
238
238
ip : peer. peer_addr . ip ( ) ,
239
239
port : peer. peer_addr . port ( )
240
240
} ) . collect ( ) ;
241
241
242
- let res = HttpAnnounceResponse {
242
+ let res = AnnounceResponse {
243
243
interval,
244
244
complete : torrent_stats. seeders ,
245
245
incomplete : torrent_stats. leechers ,
@@ -269,7 +269,7 @@ impl HttpServer {
269
269
}
270
270
271
271
fn send_error ( msg : & str ) -> Result < warp:: reply:: Response , Infallible > {
272
- Ok ( HttpErrorResponse {
272
+ Ok ( ErrorResponse {
273
273
failure_reason : msg. to_string ( )
274
274
} . into_response ( ) )
275
275
}
@@ -302,7 +302,7 @@ impl HttpServer {
302
302
None
303
303
}
304
304
305
- async fn handle_announce ( & self , query : HttpAnnounceRequest , remote_addr : SocketAddr ) -> Result < warp:: reply:: Response , Infallible > {
305
+ async fn handle_announce ( & self , query : AnnounceRequest , remote_addr : SocketAddr ) -> Result < warp:: reply:: Response , Infallible > {
306
306
let info_hash = match InfoHash :: from_str ( & query. info_hash ) {
307
307
Ok ( v) => v,
308
308
Err ( _) => {
@@ -334,7 +334,7 @@ impl HttpServer {
334
334
}
335
335
336
336
async fn handle_scrape ( & self , info_hashes : Vec < InfoHash > ) -> Result < warp:: reply:: Response , Infallible > {
337
- let mut res = HttpScrapeResponse {
337
+ let mut res = ScrapeResponse {
338
338
files : HashMap :: new ( )
339
339
} ;
340
340
let db = self . tracker . get_torrents ( ) . await ;
@@ -344,14 +344,14 @@ impl HttpServer {
344
344
Some ( torrent_info) => {
345
345
let ( seeders, completed, leechers) = torrent_info. get_stats ( ) ;
346
346
347
- HttpScrapeResponseEntry {
347
+ ScrapeResponseEntry {
348
348
complete : seeders,
349
349
downloaded : completed,
350
350
incomplete : leechers
351
351
}
352
352
}
353
353
None => {
354
- HttpScrapeResponseEntry {
354
+ ScrapeResponseEntry {
355
355
complete : 0 ,
356
356
downloaded : 0 ,
357
357
incomplete : 0
0 commit comments