public async Task <string> Handle(Query request, CancellationToken cancellationToken)
            {
                var extactor   = ExtractorFactory.GetExtraactor(request.Url);
                var chordsheet = await extactor.GetChordSheetText(request.Url);

                var transposer = new Transposer();

                return(await transposer.ResolveSongKey(chordsheet));
            }
            public async Task <string> Handle(Query request, CancellationToken cancellationToken)
            {
                var extractor = new DocxExtractor();

                var text = await extractor.GetChordSheetText(request.FilePath);

                var transposer = new Transposer();

                return(await transposer.ResolveSongKey(text));
            }