isn/src/isnd/Controllers/Packages/PackagesController.GetPacka...

57 lines
2.1 KiB
C#

3 years ago
using System.ComponentModel.DataAnnotations;
using System.IO;
using Microsoft.AspNetCore.Mvc;
using isnd.Attributes;
using isnd.Entities;
using isn.abst;
namespace isnd.Controllers
{
public partial class PackagesController
{
// Web get the paquet
2 years ago
[HttpGet("~" + Constants.ApiVersionPrefix + ApiConfig.Nuget + "/{id}/{lower}/{idf}-{lowerFromName}."
2 years ago
+ Constants.PacketFileExtension)]
2 years ago
[HttpGet("~" + Constants.ApiVersionPrefix + ApiConfig.Content + "/{id}/{lower}/{idf}-{lowerFromName}."
2 years ago
+ Constants.PacketFileExtension)]
3 years ago
public IActionResult GetPackage(
[FromRoute][SafeName][Required] string id,
[FromRoute][SafeName][Required] string lower,
2 years ago
[FromRoute] string idf, [FromRoute] string lowerFromName)
3 years ago
{
2 years ago
var pkgPath = Path.Combine(isndSettings.PackagesRootDir,
2 years ago
id, lower, $"{id}-{lower}." + Constants.PacketFileExtension
3 years ago
);
2 years ago
FileInfo pkgFileInfo = new FileInfo(pkgPath);
3 years ago
2 years ago
if (!pkgFileInfo.Exists)
3 years ago
{
2 years ago
return BadRequest("!pkgFileInfo.Exists");
3 years ago
}
2 years ago
return File(pkgFileInfo.OpenRead(), "application/zip; charset=binary");
3 years ago
}
// Web get spec
2 years ago
[HttpGet("~" + Constants.ApiVersionPrefix + ApiConfig.Nuspec + "/{id}/{lower}/{idf}-{lowerFromName}."
2 years ago
+ Constants.SpecFileExtension)]
3 years ago
public IActionResult GetNuspec(
[FromRoute][SafeName][Required] string id,
[FromRoute][SafeName][Required] string lower,
[FromRoute][SafeName][Required] string idf,
2 years ago
[FromRoute][SafeName][Required] string lowerFromName)
3 years ago
{
2 years ago
var pkgPath = Path.Combine(isndSettings.PackagesRootDir,
2 years ago
id, lower, $"{id}." + Constants.SpecFileExtension);
3 years ago
2 years ago
FileInfo pkgFileInfo = new FileInfo(pkgPath);
if (!pkgFileInfo.Exists)
3 years ago
{
2 years ago
return BadRequest("!pkgFileInfo.Exists");
3 years ago
}
2 years ago
return File(pkgFileInfo.OpenRead(), "text/xml; charset=utf-8");
3 years ago
}
2 years ago
3 years ago
}
}