Commit e656d9f 1 parent 3edb9da commit e656d9f Copy full SHA for e656d9f
File tree 1 file changed +11
-8
lines changed
1 file changed +11
-8
lines changed Original file line number Diff line number Diff line change 2
2
using System . IO ;
3
3
using System . Reflection ;
4
4
using System . Threading . Tasks ;
5
+ using Microsoft . AspNetCore . Http ;
5
6
6
7
namespace Difficalcy . Services
7
8
{
8
9
public class TestBeatmapProvider ( string resourceAssemblyName ) : IBeatmapProvider
9
10
{
10
11
public Task EnsureBeatmap ( string beatmapId )
11
12
{
12
- var resourceName = $ " { resourceAssemblyName } .Resources. { beatmapId } " ;
13
- var info = ResourceAssembly . GetManifestResourceInfo ( resourceName ) ;
14
- return Task . FromResult ( info != null ) ;
13
+ var resourceName = GetResourceName ( beatmapId ) ;
14
+ _ = ResourceAssembly . GetManifestResourceInfo ( resourceName ) ?? throw new BadHttpRequestException ( $ "Beatmap not found: { beatmapId } " ) ;
15
+ return Task . CompletedTask ;
15
16
}
16
17
17
18
public Stream GetBeatmapStream ( string beatmapId )
19
+ {
20
+ var resourceName = GetResourceName ( beatmapId ) ;
21
+ return ResourceAssembly . GetManifestResourceStream ( resourceName ) ;
22
+ }
23
+
24
+ private string GetResourceName ( string beatmapId )
18
25
{
19
26
var resourceNamespace = "Testing.Beatmaps" ;
20
27
var resourceName = $ "{ resourceNamespace } .{ beatmapId } .osu";
21
- var fullResourceName = $ "{ resourceAssemblyName } .Resources.{ resourceName } ";
22
- var stream = ResourceAssembly . GetManifestResourceStream ( fullResourceName ) ;
23
- if ( stream == null )
24
- throw new Exception ( $@ "Unable to find resource ""{ fullResourceName } "" in assembly ""{ resourceAssemblyName } """);
25
- return stream;
28
+ return $ "{ resourceAssemblyName } .Resources.{ resourceName } ";
26
29
}
27
30
28
31
private Assembly ResourceAssembly
You can’t perform that action at this time.
0 commit comments