Class RepRapFirmwareController
MVC Controller for /rr_ requests
Inherited Members
Namespace: DuetWebServer.Controllers
Assembly: DuetWebServer.dll
Syntax
[ApiController]
[Authorize(Policy = "readOnly")]
[Route("/")]
public class RepRapFirmwareController : ControllerBase
Constructors
RepRapFirmwareController(IConfiguration, ILogger<RepRapFirmwareController>, IModelProvider)
Create a new controller instance
Declaration
public RepRapFirmwareController(IConfiguration configuration, ILogger<RepRapFirmwareController> logger, IModelProvider modelProvider)
Parameters
Type | Name | Description |
---|---|---|
IConfiguration | configuration | Launch configuration |
ILogger<RepRapFirmwareController> | logger | Logger instance |
IModelProvider | modelProvider | Model provider |
Methods
Connect(string?, ISessionStorage)
GET /rr_connect?password={password} Attempt to create a new connection and log in using the (optional) password The extra "time" parameter is currently ignored in SBC mode
Declaration
[AllowAnonymous]
[HttpGet("rr_connect")]
public Task<IActionResult> Connect(string? password, ISessionStorage sessionStorage)
Parameters
Type | Name | Description |
---|---|---|
string | password | Password to check |
ISessionStorage | sessionStorage |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
CreateDirectory(string?)
GET /rr_mkdir?dir={dir} Create the given directory.
Declaration
[Authorize(Policy = "readWrite")]
[HttpGet("rr_mkdir")]
public Task<IActionResult> CreateDirectory(string? dir)
Parameters
Type | Name | Description |
---|---|---|
string | dir | Directory to create |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
DeleteFileOrDirectory(string?)
GET /rr_delete?name={filename} Delete the given file or directory.
Declaration
[Authorize(Policy = "readWrite")]
[HttpGet("rr_delete")]
public Task<IActionResult> DeleteFileOrDirectory(string? name)
Parameters
Type | Name | Description |
---|---|---|
string | name | File or directory to delete |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
Disconnect(ISessionStorage)
GET /rr_disconnect Disconnect again from the RepRapFirmware controller
Declaration
[AllowAnonymous]
[HttpGet("rr_disconnect")]
public Task<IActionResult> Disconnect(ISessionStorage sessionStorage)
Parameters
Type | Name | Description |
---|---|---|
ISessionStorage | sessionStorage | Session storage singleton |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
DoCode(string?)
GET /rr_gcode?gcode={gcode} Execute plain G/M/T-code(s) from the request body and return the G-code response when done.
Declaration
[HttpGet("rr_gcode")]
[Authorize(Policy = "readWrite")]
public Task<IActionResult> DoCode(string? gcode)
Parameters
Type | Name | Description |
---|---|---|
string | gcode |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
DownloadFile(string?)
GET /rr_download?name={filename} Download the specified file.
Declaration
[HttpGet("rr_download")]
public Task<IActionResult> DownloadFile(string? name)
Parameters
Type | Name | Description |
---|---|---|
string | name | File to download |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) File content (404) File not found |
GetFileInfo(string?)
GET /rr_fileinfo?name={filename} Parse a given G-code file and return information about this job file as a JSON object. If name is omitted, info about the file being printed is returned.
Declaration
[HttpGet("rr_fileinfo")]
public Task<IActionResult> GetFileInfo(string? name)
Parameters
Type | Name | Description |
---|---|---|
string | name |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
GetFileList(string?, int)
GET /rr_filelist?dir={directory}&first={first} Retrieve file list
Declaration
[HttpGet("rr_filelist")]
public Task<IActionResult> GetFileList(string? dir, int first = -1)
Parameters
Type | Name | Description |
---|---|---|
string | dir | Directory to list |
int | first | First file to list or -1 if unknown |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
GetFiles(string?, int, int)
GET /rr_files?dir={directory}&first={first}&flagDirs={flagDirs} Retrieve files list
Declaration
[HttpGet("rr_files")]
public Task<IActionResult> GetFiles(string? dir, int first = 0, int flagDirs = 0)
Parameters
Type | Name | Description |
---|---|---|
string | dir | Directory to list |
int | first | First file to list (defaults to 0) |
int | flagDirs | Whether directories should be flagged using an asterisk prefix |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
GetModel(string?, string?)
GET /rr_model?key={key}&flags={flags} Retrieve object model information
Declaration
[HttpGet("rr_model")]
public Task<IActionResult> GetModel(string? key = "", string? flags = "")
Parameters
Type | Name | Description |
---|---|---|
string | key | |
string | flags |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response (503) Service Unavailable |
GetThumbnail(string?, long)
GET /rr_thumbnail?name={filename}&offset={offset} Get the thumbnail from a given filename
Declaration
[HttpGet("rr_thumbnail")]
public Task<IActionResult> GetThumbnail(string? name, long offset)
Parameters
Type | Name | Description |
---|---|---|
string | name | |
long | offset | Start offset of the thumbnail query |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
MoveFileOrDirectory(string?, string?, string?)
Move a file or directory from a to b
Declaration
[Authorize(Policy = "readWrite")]
[HttpGet("rr_move")]
public Task<IActionResult> MoveFileOrDirectory(string? old, string? @new, string? deleteexisting = "no")
Parameters
Type | Name | Description |
---|---|---|
string | old | Source path |
string | new | Destination path |
string | deleteexisting | Delete existing file (optional, default "no") |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
Reply(ISessionStorage)
GET /rr_reply Retrieve the last G-code reply. Messages are only cached per emulated sessions, so they are not cached before an emulated client actually connects.
Declaration
[HttpGet("rr_reply")]
[Authorize(Policy = "readWrite")]
public IActionResult Reply(ISessionStorage sessionStorage)
Parameters
Type | Name | Description |
---|---|---|
ISessionStorage | sessionStorage |
Returns
Type | Description |
---|---|
IActionResult | Last G-code reply |
UploadFile(string?, string?, string?, ISessionStorage)
POST /rr_upload?name={filename} Upload a file from the HTTP body and create the subdirectories if necessary
Declaration
[Authorize(Policy = "readWrite")]
[DisableRequestSizeLimit]
[HttpPost("rr_upload")]
public Task<IActionResult> UploadFile(string? name, string? time, string? crc32, ISessionStorage sessionStorage)
Parameters
Type | Name | Description |
---|---|---|
string | name | Destination of the file to upload |
string | time | |
string | crc32 | |
ISessionStorage | sessionStorage | Session storage singleton |
Returns
Type | Description |
---|---|
Task<IActionResult> | HTTP status code: (200) JSON response |
UploadResult()
GET /rr_upload Get the last file upload result.
Declaration
[HttpGet("rr_upload")]
[Authorize(Policy = "readOnly")]
public IActionResult UploadResult()
Returns
Type | Description |
---|---|
IActionResult | HTTP status code: (200) Error code result |