The Lab

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
Reflector Web Server


This page docuememts reflector's REST API.


The web server services requests on different threads than those that listen on TCP frames. As a result, some (minimal) amount of synchronization is required. All requests marked as GET either does not synchronize or at most grabs a read lock. Everything else (POST, PUT, DEL) requires scheduling and waiting. The goal is always to minimize the amount of work and synchronization required when servicing TCP frames.

All attempts to change configuration will be acknowledged with a reply with an HTTP status. It will have a ConfigFeedback categorization if actually serviced by the main thread. It may contain more details in the event of a rejection.


HTTP StatusSourceConfig FeedbackDescription
200 OKmain threadSUCCESSconfig change accepted and logged
200 OKbothIDEMPOTENTconfig change accepted without change
400 BAD REQUESTweb server-request malformed
404 NOT FOUNDweb server-entity not found
405 METHOD NOT ALLOWEDweb server-http method/action not allowed
409 CONFLICTmain threadREJECTgeneral reject (unused)
409 CONFLICTmain threadCOLLISIONcollision with existing name/value
409 CONFLICTmain threadNOT_FOUNDname/value not found
409 CONFLICTmain threadUNKNOWN_ACCOUNTaccount lookup failed
409 CONFLICTmain threadTABLE_FULLmemory pool full
409 CONFLICTmain threadHASH_COLLISIONhash value collision
409 CONFLICTmain threadMALFORMED_NAMEmalformed name/identifier
409 CONFLICTmain threadMALFORMED_PASSmalformed password
409 CONFLICTmain threadMALFORMED_DATEmalformed date
409 CONFLICTmain threadTYPE_MISMATCHgeneral category mismatch
409 CONFLICTmain threadSEQ_MISMATCHsequence number mismatch
409 CONFLICTmain threadOUT_OF_RANGEvalue/quantity out of range


Control

There are two types of commands here: state queries and shutdown.

...