Skip to content
This repository
tree: a76b1c4915
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 71 lines (46 sloc) 1.503 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
#ifndef _XSCRIPT_MIST_STATE_PREFIX_NODE_H_
#define _XSCRIPT_MIST_STATE_PREFIX_NODE_H_

#include <cassert>
#include <string>

#include "state_node.h"
#include "xscript/state.h"

namespace xscript {
class Request;
class Context;
class Encoder;

class StatePrefixNode : public StateNode {
public:
    StatePrefixNode(const std::string& prefix, const char* type_str, State* state);

    void setParameter(const char* name, const std::string& val);
    void setParameters(const char* name, const std::vector<std::string>& v);

private:
    const std::string& prefix_;
    State* state_;
};


class StateQueryNode : public StatePrefixNode {
public:
    StateQueryNode(const std::string& prefix, State* state);

    void build(const std::string& query);
};


class StateRequestNode : public StatePrefixNode {
public:
    StateRequestNode(const std::string& prefix, State* state);

    void build(const Request* req, bool urlencode, Encoder* encoder);
};


class StateHeadersNode : public StatePrefixNode {
public:
    StateHeadersNode(const std::string& prefix, State* state);

    void build(const Request* req);
};


class StateCookiesNode : public StatePrefixNode {
public:
    StateCookiesNode(const std::string& prefix, State* state);

    void build(const Request* req);
};


class StateProtocolNode : public StatePrefixNode {
public:
    StateProtocolNode(const std::string& prefix, State* state);

    void build(Context* ctx);
};


} // namespace xscript

#endif // _XSCRIPT_MIST_STATE_PREFIX_NODE_H_
Something went wrong with that request. Please try again.