Merge branch 'master' of https://phabricator.tomicevic.com/diffusion/MG/memgraph
* 'master' of https://phabricator.tomicevic.com/diffusion/MG/memgraph: Lexertl git submodule Initial version of the router class (not yet implemented)
This commit is contained in:
commit
65d1920af5
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
.ycm_extra_conf.py
|
.ycm_extra_conf.py
|
||||||
.ycm_extra_conf.pyc
|
.ycm_extra_conf.pyc
|
||||||
|
*.swp
|
||||||
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "cypher/lexertl"]
|
||||||
|
path = cypher/lexertl
|
||||||
|
url = https://github.com/BenHanson/lexertl.git
|
1
cypher/.gitignore
vendored
1
cypher/.gitignore
vendored
@ -1,4 +1,3 @@
|
|||||||
lexertl
|
|
||||||
lemon
|
lemon
|
||||||
*.o
|
*.o
|
||||||
cypher.cpp
|
cypher.cpp
|
||||||
|
@ -17,7 +17,7 @@ cypher.hpp: lemonfiles
|
|||||||
|
|
||||||
.PHONY: lemonfiles
|
.PHONY: lemonfiles
|
||||||
lemonfiles: cypher.y
|
lemonfiles: cypher.y
|
||||||
lemon/lemon cypher.y -s
|
lemon cypher.y -s
|
||||||
mv cypher.c cypher.cpp
|
mv cypher.c cypher.cpp
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
#include "lexertl/generator.hpp"
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "lexertl/lookup.hpp"
|
|
||||||
|
|
||||||
#include "cypher_lexer.hpp"
|
#include "cypher_lexer.hpp"
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
// auto_ptr<lexertl::detail::basic_re_token<char, char> > is deprecated
|
// auto_ptr<lexertl::detail::basic_re_token<char, char> > is deprecated
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||||
#include "lexertl/generator.hpp"
|
#include "lexertl/lexertl/generator.hpp"
|
||||||
#include "lexertl/lookup.hpp"
|
#include "lexertl/lexertl/lookup.hpp"
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
|
|
||||||
#include "errors.hpp"
|
#include "errors.hpp"
|
||||||
|
1
cypher/lexertl
Submodule
1
cypher/lexertl
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 5acf39fbea01eb546edd140ce1334bd53f88928f
|
1
server/.gitignore
vendored
Normal file
1
server/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*.out
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
* https://github.com/libuv/libuv
|
* https://github.com/libuv/libuv
|
||||||
|
|
||||||
```{engine='bash'}
|
```
|
||||||
sh autogen.sh
|
sh autogen.sh
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
@ -12,14 +12,20 @@ make install
|
|||||||
|
|
||||||
* https://github.com/joyent/http-parser
|
* https://github.com/joyent/http-parser
|
||||||
|
|
||||||
```{engine='bash'}
|
```
|
||||||
make
|
make
|
||||||
make install -stdlib=libstdc++ -lstdc++ (OSX)
|
make install -stdlib=libstdc++ -lstdc++ (OSX)
|
||||||
make install
|
make install
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* https://github.com/c9s/r3
|
||||||
|
|
||||||
|
```
|
||||||
|
brew install r3 (OSX)
|
||||||
|
```
|
||||||
|
|
||||||
## Test compile
|
## Test compile
|
||||||
|
|
||||||
```{engine='bash'}
|
```
|
||||||
clang++ -std=c++11 test.cpp -o test -luv -lhttp_parser -I../
|
clang++ -std=c++11 test.cpp -o test.out -luv -lhttp_parser -I../
|
||||||
```
|
```
|
||||||
|
3
server/application/application.hpp
Normal file
3
server/application/application.hpp
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#include "router.hpp"
|
||||||
|
|
||||||
|
#include "router.inl"
|
27
server/application/router.hpp
Normal file
27
server/application/router.hpp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#ifndef MEMGRAPH_SERVER_APPLICATION_ROUTER_HPP
|
||||||
|
#define MEMGRAPH_SERVER_APPLICATION_ROUTER_HPP
|
||||||
|
|
||||||
|
// TODO: find more appropriate way to include header files
|
||||||
|
#include "../uv/uv.hpp"
|
||||||
|
#include "../http/http.hpp"
|
||||||
|
|
||||||
|
namespace application
|
||||||
|
{
|
||||||
|
|
||||||
|
// TODO: find out more appropriate name, like express
|
||||||
|
class Router
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
uv::UvLoop loop;
|
||||||
|
http::HttpServer server;
|
||||||
|
http::Ipv4 ip;
|
||||||
|
public:
|
||||||
|
Router(const http::Ipv4& ip);
|
||||||
|
void get(const std::string path, http::request_cb_t callback);
|
||||||
|
void listen();
|
||||||
|
~Router();
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
34
server/application/router.inl
Normal file
34
server/application/router.inl
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#ifndef MEMGRAPH_SERVER_APPLICATION_ROUTER_INL
|
||||||
|
#define MEMGRAPH_SERVER_APPLICATION_ROUTER_INL
|
||||||
|
|
||||||
|
#include "router.hpp"
|
||||||
|
|
||||||
|
namespace application
|
||||||
|
{
|
||||||
|
|
||||||
|
Router::Router(const http::Ipv4& ip) : server(loop), ip(ip)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void Router::get(const std::string path, http::request_cb_t callback)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void Router::listen()
|
||||||
|
{
|
||||||
|
server.listen(ip, [](http::Request& req, http::Response& res) {
|
||||||
|
res.send(req.url);
|
||||||
|
});
|
||||||
|
|
||||||
|
std::cout << "Server is UP" << std::endl;
|
||||||
|
|
||||||
|
loop.run(uv::UvLoop::Mode::Default);
|
||||||
|
}
|
||||||
|
|
||||||
|
Router::~Router()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@ -1,19 +1,13 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include "uvmachine.hpp"
|
#include "application/application.hpp"
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
uv::UvLoop loop;
|
|
||||||
http::HttpServer server(loop);
|
|
||||||
|
|
||||||
http::Ipv4 ip("0.0.0.0", 3400);
|
http::Ipv4 ip("0.0.0.0", 3400);
|
||||||
|
|
||||||
server.listen(ip, [](http::Request& req, http::Response& res) {
|
application::Router router(ip);
|
||||||
res.send(req.url);
|
router.listen();
|
||||||
});
|
|
||||||
|
|
||||||
loop.run(uv::UvLoop::Mode::Default);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
#include "uv/uv.hpp"
|
|
||||||
#include "http/http.hpp"
|
|
Loading…
Reference in New Issue
Block a user