#ifndef PLAQUI_COMMAND_H
#define PLAQUI_COMMAND_H
+#include "httperror.h"
#include "httprequest.h"
+#include <socket++/sockstream.h>
#include <string>
#include <vector>
#include <istream>
/// Pedido HTTP.
class Command: private HTTPRequest {
+ /////////////////////////////////////////////////////////////////////
// Tipos.
public:
/// Tipo de métodos HTTP reconocidos.
typedef std::vector<std::string> Arguments;
+ /////////////////////////////////////////////////////////////////////
// Atributos.
private:
/// Lista de argumentos que recibe el comando.
Arguments args;
+ /////////////////////////////////////////////////////////////////////
// Métodos.
private:
const Arguments& get_args(void) const;
/**
- * Agrega un argumentos.
+ * Agrega un argumento.
*/
void add_arg(const std::string& arg);
+ /**
+ * Agrega un argumento.
+ */
+ void add_arg(const unsigned& arg);
+
/**
* Obtiene el comando desde un pedido HTTP completo.
*/
friend std::istream& operator>>(std::istream& is,
- Command& command);
+ Command& command) throw(HTTPError, sockerr, ios::failure);
/**
* Convierte el comando a un pedido HTTP completo.
*/
friend std::ostream& operator<<(std::ostream& os,
- const Command& command);
+ const Command& command) throw(sockerr);
};