.NET Core service to send CVs to Datxra's service.
See Daxtra's API documentation here.
Daxtra provide a reference .NET implementation, but this is compatible with .NET Core's dependency injection model.
This also serialises the result to .NET structured objects, see Model.
This package is available on NuGet:
PM> Install-Package Evolution.Daxtra -Version 1.0.0
To add this service:
string url = $"https://{yourService}.daxtra.com";
string api = "/cvx/rest/api/v1"; // Or whatever version you want to use
string key = "your secret password";
services.AddDaxtraParser(url, api, key);
Then this service is available as IDaxtraParser
, for instance as a Web API action:
[HttpPost("parseCV")]
public async Task<IEnumerable<Resume>> ParseCV(
[FromServices] IDaxtraParser parser, // Get the parser from the injected services
[FromForm] IEnumerable<IFormFile> files) // CV files posted from an HTML form
{
var result = new List<Resume>();
foreach (var f in files)
{
if (f.Length == 0)
continue;
using (var s = new MemoryStream())
{
await f.CopyToAsync(s);
var parsed = await parser.Parse(s.ToArray());
result.Add(parsed);
}
}
return result;
}
Any errors are thrown as DaxtraException
, and this contains the body of the CSERROR
from the Daxtra service and the HTTP Status.
Requests to the Daxtra service are sent as multipart/form-data
and GZIP compression, as per best practice recommendation. Content are send and parsed as JSON.
Currently only the profile service to parse CVs is supported. We plan to introduce batch parsing next.