@@ -192,12 +192,14 @@ async fn get_ext(
192
192
file_name : FileName ,
193
193
delete_at : Option < DateTime > ,
194
194
owner : bool ,
195
+ copy : Option < String > ,
195
196
}
196
197
197
198
Image {
198
199
file_name,
199
200
delete_at,
200
201
owner,
202
+ copy : None ,
201
203
}
202
204
. to_response ( )
203
205
}
@@ -212,6 +214,7 @@ async fn get_ext(
212
214
file_name : FileName ,
213
215
delete_at : Option < DateTime > ,
214
216
owner : bool ,
217
+ copy : Option < String > ,
215
218
}
216
219
217
220
if let Some ( syntax) = syntax {
@@ -229,10 +232,11 @@ async fn get_ext(
229
232
. is_err ( )
230
233
{
231
234
return Ok ( UnHighlighted {
232
- code : file,
235
+ code : file. clone ( ) ,
233
236
file_name,
234
237
delete_at,
235
238
owner,
239
+ copy : Some ( file) ,
236
240
}
237
241
. to_response ( )
238
242
. customize ( ) ) ;
@@ -246,21 +250,24 @@ async fn get_ext(
246
250
file_name : FileName ,
247
251
delete_at : Option < DateTime > ,
248
252
owner : bool ,
253
+ copy : Option < String > ,
249
254
}
250
255
251
256
Highlighted {
252
257
code : html_generator. finalize ( ) ,
253
258
file_name,
254
259
delete_at,
255
260
owner,
261
+ copy : Some ( file) ,
256
262
}
257
263
. to_response ( )
258
264
} else {
259
265
UnHighlighted {
260
- code : file,
266
+ code : file. clone ( ) ,
261
267
file_name,
262
268
delete_at,
263
269
owner,
270
+ copy : Some ( file) ,
264
271
}
265
272
. to_response ( )
266
273
}
@@ -271,12 +278,14 @@ async fn get_ext(
271
278
file_name : FileName ,
272
279
delete_at : Option < DateTime > ,
273
280
owner : bool ,
281
+ copy : Option < String > ,
274
282
}
275
283
276
284
WrongType {
277
285
file_name,
278
286
delete_at,
279
287
owner,
288
+ copy : None ,
280
289
}
281
290
. to_response ( )
282
291
}
@@ -288,12 +297,14 @@ async fn get_ext(
288
297
file_name : FileName ,
289
298
delete_at : Option < DateTime > ,
290
299
owner : bool ,
300
+ copy : Option < String > ,
291
301
}
292
302
293
303
TooLarge {
294
304
file_name,
295
305
delete_at,
296
306
owner,
307
+ copy : None ,
297
308
}
298
309
. to_response ( )
299
310
}
@@ -357,7 +368,7 @@ async fn delete_entry(
357
368
. map_err ( ErrorInternalServerError ) ?;
358
369
}
359
370
360
- Ok ( HttpResponse :: Found ( )
371
+ Ok ( HttpResponse :: SeeOther ( )
361
372
. append_header ( ( header:: LOCATION , "/" ) )
362
373
. finish ( ) )
363
374
}
@@ -427,16 +438,16 @@ fn response(
427
438
extension : Option < String > ,
428
439
config : & Data < Config > ,
429
440
) -> impl Responder {
430
- let name = name. clone ( ) + & extension. map ( |e| format ! ( ".{e}" ) ) . unwrap_or_default ( ) ;
431
- HttpResponse :: Found ( )
441
+ let name = name + & extension. map ( |e| format ! ( ".{e}" ) ) . unwrap_or_default ( ) ;
442
+ HttpResponse :: SeeOther ( )
432
443
. append_header ( ( header:: LOCATION , name. clone ( ) ) )
433
444
. cookie_delta ( & cookies)
434
445
. body ( format ! (
435
446
"{}{name}\n " ,
436
447
if !config. base_url. is_empty( ) && !config. base_url. ends_with( '/' ) {
437
448
format!( "{}{}" , config. base_url, "/" )
438
449
} else {
439
- format! ( "{}" , config. base_url)
450
+ config. base_url. to_string ( )
440
451
}
441
452
) )
442
453
}
@@ -509,7 +520,7 @@ async fn post_form(
509
520
}
510
521
511
522
Ok ( response (
512
- file. ok_or_else ( || UploadError :: NoData ) ?,
523
+ file. ok_or ( UploadError :: NoData ) ?,
513
524
cookies,
514
525
extension,
515
526
& config,
0 commit comments