project init
This commit is contained in:
		
						commit
						43d2a34c60
					
				
							
								
								
									
										28
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | ||||
| # Created by .ignore support plugin (hsz.mobi) | ||||
| ### Java template | ||||
| # Compiled class file | ||||
| *.class | ||||
| 
 | ||||
| # Log file | ||||
| *.log | ||||
| 
 | ||||
| # BlueJ files | ||||
| *.ctxt | ||||
| 
 | ||||
| # Mobile Tools for Java (J2ME) | ||||
| .mtj.tmp/ | ||||
| 
 | ||||
| # Package Files # | ||||
| *.jar | ||||
| *.war | ||||
| *.ear | ||||
| *.zip | ||||
| *.tar.gz | ||||
| *.rar | ||||
| 
 | ||||
| # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||||
| hs_err_pid* | ||||
| 
 | ||||
| target/ | ||||
| *.iml | ||||
| .idea/ | ||||
							
								
								
									
										173
									
								
								dh.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								dh.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,173 @@ | ||||
| [{ | ||||
|   "firstScanRange": 1, | ||||
|   "lastScanRange": 10000, | ||||
|   "name": "", | ||||
|   "ip": 3232235818, | ||||
|   "mac": 91754662925, | ||||
|   "os":"Windows", | ||||
|   "ports": [{ | ||||
|     "createDate": -62135596800000, | ||||
|     "updateDate": -62135596800000, | ||||
|     "services": [{ | ||||
|       "createDate": -62135596800000, | ||||
|       "updateDate": -62135596800000, | ||||
|       "portType": "TCP", | ||||
|       "serviceName": "SSH", | ||||
|       "target":true | ||||
|     }], | ||||
|     "portType": "TCP", | ||||
|     "portNumber": 22 | ||||
|   }, | ||||
|     { | ||||
|       "createDate": -62135596800000, | ||||
|       "updateDate": -62135596800000, | ||||
|       "services": [{ | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "portType": "TCP", | ||||
|         "serviceName": "HTTP" | ||||
|       }], | ||||
|       "portType": "TCP", | ||||
|       "portNumber": 443 | ||||
|     }, | ||||
|     { | ||||
|       "createDate": -62135596800000, | ||||
|       "updateDate": -62135596800000, | ||||
|       "services": [{ | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "portType": "TCP", | ||||
|         "serviceName": "HTTP" | ||||
|       }], | ||||
|       "portType": "TCP", | ||||
|       "portNumber": 80 | ||||
|     }], | ||||
|   "createDate": 1498470178000, | ||||
|   "updateDate": 1498470178000 | ||||
| }, | ||||
|   { | ||||
|     "firstScanRange": 1, | ||||
|     "lastScanRange": 10000, | ||||
|     "name": "", | ||||
|     "ip": 3232235781, | ||||
|     "mac": 91754660625, | ||||
|     "os":"Windows", | ||||
|     "ports": [{ | ||||
|       "createDate": -62135596800000, | ||||
|       "updateDate": -62135596800000, | ||||
|       "services": [{ | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "portType": "TCP", | ||||
|         "serviceName": "SSH" | ||||
|       }], | ||||
|       "portType": "TCP", | ||||
|       "portNumber": 22 | ||||
|     }, | ||||
|       { | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "services": [{ | ||||
|           "createDate": -62135596800000, | ||||
|           "updateDate": -62135596800000, | ||||
|           "portType": "TCP", | ||||
|           "serviceName": "HTTP" | ||||
|         }], | ||||
|         "portType": "TCP", | ||||
|         "portNumber": 80 | ||||
|       }, | ||||
|       { | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "services": [{ | ||||
|           "createDate": -62135596800000, | ||||
|           "updateDate": -62135596800000, | ||||
|           "portType": "TCP", | ||||
|           "serviceName": "HTTP" | ||||
|         }], | ||||
|         "portType": "TCP", | ||||
|         "portNumber": 1936 | ||||
|       }, | ||||
|       { | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "services": null, | ||||
|         "portType": "TCP", | ||||
|         "portNumber": 443 | ||||
|       }], | ||||
|     "createDate": 1498470178000, | ||||
|     "updateDate": 1498470178000 | ||||
|   }, | ||||
|   { | ||||
|     "firstScanRange": 1, | ||||
|     "lastScanRange": 10000, | ||||
|     "name": "", | ||||
|     "ip": 3232235797, | ||||
|     "mac": 91754662913, | ||||
|     "os":"Windows", | ||||
|     "target":true, | ||||
|     "ports": [{ | ||||
|       "createDate": -62135596800000, | ||||
|       "updateDate": -62135596800000, | ||||
|       "services": [{ | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "portType": "TCP", | ||||
|         "serviceName": "HTTP" | ||||
|       }], | ||||
|       "portType": "TCP", | ||||
|       "portNumber": 80 | ||||
|     }, | ||||
|       { | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "services": [{ | ||||
|           "createDate": -62135596800000, | ||||
|           "updateDate": -62135596800000, | ||||
|           "portType": "TCP", | ||||
|           "serviceName": "SSH" | ||||
|         }], | ||||
|         "portType": "TCP", | ||||
|         "portNumber": 22 | ||||
|       }, | ||||
|       { | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "services": [{ | ||||
|           "createDate": -62135596800000, | ||||
|           "updateDate": -62135596800000, | ||||
|           "portType": "TCP", | ||||
|           "serviceName": "HTTP" | ||||
|         }], | ||||
|         "portType": "TCP", | ||||
|         "portNumber": 3343 | ||||
|       }, | ||||
|       { | ||||
|         "createDate": -62135596800000, | ||||
|         "updateDate": -62135596800000, | ||||
|         "services": [{ | ||||
|           "createDate": -62135596800000, | ||||
|           "updateDate": -62135596800000, | ||||
|           "portType": "TCP", | ||||
|           "serviceName": "HTTP" | ||||
|         }], | ||||
|         "portType": "TCP", | ||||
|         "portNumber": 443 | ||||
|       }], | ||||
|     "createDate": 1498470178000, | ||||
|     "updateDate": 1498470178000 | ||||
|   }, | ||||
|   { | ||||
|     "firstScanRange": 1, | ||||
|     "lastScanRange": 10000, | ||||
|     "name": "", | ||||
|     "ip": 3232235877, | ||||
|     "mac": 75361038758387, | ||||
|     "os":"Windows", | ||||
|     "ports": null, | ||||
|     "createDate": 1498470179000, | ||||
|     "updateDate": 1498470179000 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| ] | ||||
							
								
								
									
										214
									
								
								golang/server_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										214
									
								
								golang/server_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,214 @@ | ||||
| // Code generated by protoc-gen-go. DO NOT EDIT. | ||||
| // source: server_grpc.proto | ||||
| 
 | ||||
| /* | ||||
| Package server_grpc is a generated protocol buffer package. | ||||
| 
 | ||||
| It is generated from these files: | ||||
| 	server_grpc.proto | ||||
| 
 | ||||
| It has these top-level messages: | ||||
| 	ServerInput | ||||
| 	ServerParam | ||||
| 	ServerOutput | ||||
| */ | ||||
| package server_grpc | ||||
| 
 | ||||
| import proto "github.com/golang/protobuf/proto" | ||||
| import fmt "fmt" | ||||
| import math "math" | ||||
| 
 | ||||
| import ( | ||||
| 	context "golang.org/x/net/context" | ||||
| 	grpc "google.golang.org/grpc" | ||||
| ) | ||||
| 
 | ||||
| // Reference imports to suppress errors if they are not otherwise used. | ||||
| var _ = proto.Marshal | ||||
| var _ = fmt.Errorf | ||||
| var _ = math.Inf | ||||
| 
 | ||||
| // This is a compile-time assertion to ensure that this generated file | ||||
| // is compatible with the proto package it is being compiled against. | ||||
| // A compilation error at this line likely means your copy of the | ||||
| // proto package needs to be updated. | ||||
| const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package | ||||
| 
 | ||||
| type ServerInput struct { | ||||
| 	Target string   `protobuf:"bytes,1,opt,name=target" json:"target,omitempty"` | ||||
| 	Method string   `protobuf:"bytes,2,opt,name=method" json:"method,omitempty"` | ||||
| 	Params []string `protobuf:"bytes,3,rep,name=params" json:"params,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (m *ServerInput) Reset()                    { *m = ServerInput{} } | ||||
| func (m *ServerInput) String() string            { return proto.CompactTextString(m) } | ||||
| func (*ServerInput) ProtoMessage()               {} | ||||
| func (*ServerInput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } | ||||
| 
 | ||||
| func (m *ServerInput) GetTarget() string { | ||||
| 	if m != nil { | ||||
| 		return m.Target | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (m *ServerInput) GetMethod() string { | ||||
| 	if m != nil { | ||||
| 		return m.Method | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (m *ServerInput) GetParams() []string { | ||||
| 	if m != nil { | ||||
| 		return m.Params | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| type ServerParam struct { | ||||
| 	Type         string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` | ||||
| 	Data         string `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` | ||||
| 	IsCollection bool   `protobuf:"varint,3,opt,name=isCollection" json:"isCollection,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (m *ServerParam) Reset()                    { *m = ServerParam{} } | ||||
| func (m *ServerParam) String() string            { return proto.CompactTextString(m) } | ||||
| func (*ServerParam) ProtoMessage()               {} | ||||
| func (*ServerParam) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } | ||||
| 
 | ||||
| func (m *ServerParam) GetType() string { | ||||
| 	if m != nil { | ||||
| 		return m.Type | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (m *ServerParam) GetData() string { | ||||
| 	if m != nil { | ||||
| 		return m.Data | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (m *ServerParam) GetIsCollection() bool { | ||||
| 	if m != nil { | ||||
| 		return m.IsCollection | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
| 
 | ||||
| type ServerOutput struct { | ||||
| 	Result string `protobuf:"bytes,1,opt,name=result" json:"result,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (m *ServerOutput) Reset()                    { *m = ServerOutput{} } | ||||
| func (m *ServerOutput) String() string            { return proto.CompactTextString(m) } | ||||
| func (*ServerOutput) ProtoMessage()               {} | ||||
| func (*ServerOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } | ||||
| 
 | ||||
| func (m *ServerOutput) GetResult() string { | ||||
| 	if m != nil { | ||||
| 		return m.Result | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func init() { | ||||
| 	proto.RegisterType((*ServerInput)(nil), "ServerInput") | ||||
| 	proto.RegisterType((*ServerParam)(nil), "ServerParam") | ||||
| 	proto.RegisterType((*ServerOutput)(nil), "ServerOutput") | ||||
| } | ||||
| 
 | ||||
| // Reference imports to suppress errors if they are not otherwise used. | ||||
| var _ context.Context | ||||
| var _ grpc.ClientConn | ||||
| 
 | ||||
| // This is a compile-time assertion to ensure that this generated file | ||||
| // is compatible with the grpc package it is being compiled against. | ||||
| const _ = grpc.SupportPackageIsVersion4 | ||||
| 
 | ||||
| // Client API for OverflowApiServer service | ||||
| 
 | ||||
| type OverflowApiServerClient interface { | ||||
| 	Exec(ctx context.Context, in *ServerInput, opts ...grpc.CallOption) (*ServerOutput, error) | ||||
| } | ||||
| 
 | ||||
| type overflowApiServerClient struct { | ||||
| 	cc *grpc.ClientConn | ||||
| } | ||||
| 
 | ||||
| func NewOverflowApiServerClient(cc *grpc.ClientConn) OverflowApiServerClient { | ||||
| 	return &overflowApiServerClient{cc} | ||||
| } | ||||
| 
 | ||||
| func (c *overflowApiServerClient) Exec(ctx context.Context, in *ServerInput, opts ...grpc.CallOption) (*ServerOutput, error) { | ||||
| 	out := new(ServerOutput) | ||||
| 	err := grpc.Invoke(ctx, "/OverflowApiServer/exec", in, out, c.cc, opts...) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| // Server API for OverflowApiServer service | ||||
| 
 | ||||
| type OverflowApiServerServer interface { | ||||
| 	Exec(context.Context, *ServerInput) (*ServerOutput, error) | ||||
| } | ||||
| 
 | ||||
| func RegisterOverflowApiServerServer(s *grpc.Server, srv OverflowApiServerServer) { | ||||
| 	s.RegisterService(&_OverflowApiServer_serviceDesc, srv) | ||||
| } | ||||
| 
 | ||||
| func _OverflowApiServer_Exec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(ServerInput) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(OverflowApiServerServer).Exec(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: "/OverflowApiServer/Exec", | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(OverflowApiServerServer).Exec(ctx, req.(*ServerInput)) | ||||
| 	} | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| var _OverflowApiServer_serviceDesc = grpc.ServiceDesc{ | ||||
| 	ServiceName: "OverflowApiServer", | ||||
| 	HandlerType: (*OverflowApiServerServer)(nil), | ||||
| 	Methods: []grpc.MethodDesc{ | ||||
| 		{ | ||||
| 			MethodName: "exec", | ||||
| 			Handler:    _OverflowApiServer_Exec_Handler, | ||||
| 		}, | ||||
| 	}, | ||||
| 	Streams:  []grpc.StreamDesc{}, | ||||
| 	Metadata: "server_grpc.proto", | ||||
| } | ||||
| 
 | ||||
| func init() { proto.RegisterFile("server_grpc.proto", fileDescriptor0) } | ||||
| 
 | ||||
| var fileDescriptor0 = []byte{ | ||||
| 	// 240 bytes of a gzipped FileDescriptorProto | ||||
| 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x3d, 0x4f, 0xc3, 0x30, | ||||
| 	0x10, 0x40, 0x31, 0xa9, 0x2a, 0x38, 0xc2, 0x50, 0x0f, 0x10, 0x31, 0xa0, 0xc8, 0x12, 0xa8, 0x93, | ||||
| 	0x07, 0xd8, 0xd8, 0x80, 0x89, 0xa9, 0x55, 0x11, 0x03, 0x13, 0x32, 0xe9, 0xb5, 0x44, 0x72, 0x7a, | ||||
| 	0x96, 0x73, 0x29, 0xf0, 0x0f, 0xf8, 0xd9, 0xc8, 0x1f, 0xa0, 0x76, 0xbb, 0xf7, 0x24, 0x3f, 0x9d, | ||||
| 	0x0f, 0x26, 0x3d, 0xfa, 0x2d, 0xfa, 0xb7, 0xb5, 0x77, 0x8d, 0x76, 0x9e, 0x98, 0xd4, 0x0b, 0x9c, | ||||
| 	0x3c, 0x47, 0xf9, 0xb4, 0x71, 0x03, 0xcb, 0x33, 0x18, 0xb3, 0xf1, 0x6b, 0xe4, 0x4a, 0xd4, 0x62, | ||||
| 	0x7a, 0xbc, 0xc8, 0x14, 0x7c, 0x87, 0xfc, 0x41, 0xcb, 0xea, 0x30, 0xf9, 0x44, 0xc1, 0x3b, 0xe3, | ||||
| 	0x4d, 0xd7, 0x57, 0x45, 0x5d, 0x04, 0x9f, 0x48, 0xbd, 0xfe, 0x65, 0xe7, 0x81, 0xa5, 0x84, 0x11, | ||||
| 	0x7f, 0x3b, 0xcc, 0xd1, 0x38, 0x07, 0xb7, 0x34, 0x6c, 0x72, 0x30, 0xce, 0x52, 0x41, 0xd9, 0xf6, | ||||
| 	0x8f, 0x64, 0x2d, 0x36, 0xdc, 0xd2, 0xa6, 0x2a, 0x6a, 0x31, 0x3d, 0x5a, 0xec, 0x39, 0x75, 0x0d, | ||||
| 	0x65, 0x4a, 0xcf, 0x06, 0xce, 0x2b, 0x7b, 0xec, 0x07, 0xfb, 0xbf, 0x72, 0xa2, 0x9b, 0x3b, 0x98, | ||||
| 	0xcc, 0xb6, 0xe8, 0x57, 0x96, 0x3e, 0xef, 0x5d, 0x9b, 0x9e, 0xc8, 0x2b, 0x18, 0xe1, 0x17, 0x36, | ||||
| 	0xb2, 0xd4, 0x3b, 0xbf, 0xbe, 0x38, 0xd5, 0xbb, 0x45, 0x75, 0xf0, 0x70, 0x09, 0xe7, 0x0d, 0x75, | ||||
| 	0xda, 0x92, 0x59, 0x59, 0xd4, 0x94, 0x33, 0xda, 0xb8, 0x76, 0x2e, 0x7e, 0x84, 0x78, 0x1f, 0xc7, | ||||
| 	0xe3, 0xdd, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0x11, 0xfd, 0x20, 0xaf, 0x51, 0x01, 0x00, 0x00, | ||||
| } | ||||
							
								
								
									
										61
									
								
								golang/server_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								golang/server_test.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,61 @@ | ||||
| package server_grpc | ||||
| 
 | ||||
| import ( | ||||
| 	"testing" | ||||
| 	"google.golang.org/grpc" | ||||
| 	"golang.org/x/net/context" | ||||
| 	"io/ioutil" | ||||
| ) | ||||
| 
 | ||||
| func TestTarDis_saveAllTarget(t *testing.T) { | ||||
| 
 | ||||
| 	contents,_ := ioutil.ReadFile("../dh.json") | ||||
| 
 | ||||
| 	si := &ServerInput{} | ||||
| 
 | ||||
| 	si.Target = "TargetDiscoveryService" | ||||
| 	si.Method = "saveAllTarget" | ||||
| 
 | ||||
| 	si.Params = append(si.Params, string(contents)) | ||||
| 	si.Params = append(si.Params, "{\"id\":1}") | ||||
| 
 | ||||
| 	callRPC(t, si) | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| func TestRPCNP_readAllByDomain(t *testing.T) { | ||||
| 
 | ||||
| 
 | ||||
| 	si := &ServerInput{} | ||||
| 
 | ||||
| 	si.Target = "NoAuthProbeService" | ||||
| 	si.Method = "readAllByDomain" | ||||
| 
 | ||||
| 	//sp := &ServerParam{} | ||||
| 	//sp.IsCollection = false | ||||
| 	//sp.Type = "com.loafle.overflow.module.domain.model.Domain" | ||||
| 	//sp.Data = "{\"id\":1}" | ||||
| 	si.Params = append(si.Params,  "{\"id\":1}") | ||||
| 
 | ||||
| 	callRPC(t, si) | ||||
| } | ||||
| 
 | ||||
| func callRPC(t *testing.T, si *ServerInput) { | ||||
| 
 | ||||
| 	conn, err := grpc.Dial(":50006", grpc.WithInsecure()) | ||||
| 
 | ||||
| 	if err != nil { | ||||
| 		t.Log(err) | ||||
| 	} | ||||
| 
 | ||||
| 	client := NewOverflowApiServerClient(conn) | ||||
| 
 | ||||
| 	out, err := client.Exec(context.Background(), si) | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| 
 | ||||
| 	t.Log(out) | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										90
									
								
								pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,90 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||
|          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
| 
 | ||||
|     <parent> | ||||
|         <groupId>com.loafle</groupId> | ||||
|         <artifactId>maven_parent_jar</artifactId> | ||||
|         <version>1.0.0-RELEASE</version> | ||||
|     </parent> | ||||
| 
 | ||||
|     <groupId>com.loafle</groupId> | ||||
|     <artifactId>central_api</artifactId> | ||||
|     <packaging>jar</packaging> | ||||
|     <version>1.0.0-SNAPSHOT</version> | ||||
|     <name>com.loafle.central_api</name> | ||||
| 
 | ||||
|     <properties> | ||||
|         <grpc.version>1.2.0</grpc.version> | ||||
|         <protoc.version>3.2.0</protoc.version> | ||||
|         <protoc-maven-plugin.version>0.5.0</protoc-maven-plugin.version> | ||||
|     </properties> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>io.grpc</groupId> | ||||
|             <artifactId>grpc-protobuf</artifactId> | ||||
|             <version>${grpc.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>io.grpc</groupId> | ||||
|             <artifactId>grpc-stub</artifactId> | ||||
|             <version>${grpc.version}</version> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| 
 | ||||
|     <build> | ||||
|         <resources> | ||||
|             <resource> | ||||
|                 <directory>src/main/resources</directory> | ||||
|                 <filtering>true</filtering> | ||||
|             </resource> | ||||
|         </resources> | ||||
|         <testResources> | ||||
|             <testResource> | ||||
|                 <directory>src/test/resources</directory> | ||||
|                 <filtering>true</filtering> | ||||
|             </testResource> | ||||
|         </testResources> | ||||
| 
 | ||||
|         <extensions> | ||||
|             <extension> | ||||
|                 <groupId>kr.motd.maven</groupId> | ||||
|                 <artifactId>os-maven-plugin</artifactId> | ||||
|                 <version>1.5.0.Final</version> | ||||
|             </extension> | ||||
|         </extensions> | ||||
| 
 | ||||
|         <plugins> | ||||
|             <plugin> | ||||
|                 <groupId>org.xolstice.maven.plugins</groupId> | ||||
|                 <artifactId>protobuf-maven-plugin</artifactId> | ||||
|                 <version>${protoc-maven-plugin.version}</version> | ||||
|                 <configuration> | ||||
|                     <protocArtifact>com.google.protobuf:protoc:${protoc.version}:exe:${os.detected.classifier}</protocArtifact> | ||||
|                     <pluginId>grpc-java</pluginId> | ||||
|                     <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact> | ||||
|                 </configuration> | ||||
|                 <executions> | ||||
|                     <execution> | ||||
|                         <goals> | ||||
|                             <goal>compile</goal> | ||||
|                             <goal>compile-custom</goal> | ||||
|                         </goals> | ||||
|                     </execution> | ||||
|                 </executions> | ||||
|                 <dependencies> | ||||
|                     <dependency> | ||||
|                         <groupId>com.google.protobuf</groupId> | ||||
|                         <artifactId>protobuf-java</artifactId> | ||||
|                         <version>${protoc.version}</version> | ||||
|                     </dependency> | ||||
|                 </dependencies> | ||||
|             </plugin> | ||||
| 
 | ||||
|         </plugins> | ||||
|     </build> | ||||
| 
 | ||||
| </project> | ||||
							
								
								
									
										1
									
								
								src/main/proto/cmd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/main/proto/cmd
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| protoc -I src/main/proto/ src/main/proto/server_grpc.proto --go_out=plugins=grpc:golang | ||||
							
								
								
									
										26
									
								
								src/main/proto/server_grpc.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/main/proto/server_grpc.proto
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| syntax = "proto3"; | ||||
| 
 | ||||
| option java_multiple_files = true; | ||||
| option java_package = "com.loafle.overflow.api"; | ||||
| option java_generic_services = true; | ||||
| 
 | ||||
| message ServerInput { | ||||
|     string target = 1; | ||||
|     string method = 2; | ||||
|     repeated string params = 3; | ||||
| } | ||||
| 
 | ||||
| message ServerParam { | ||||
|     string type = 1; | ||||
|     string data = 2; | ||||
|     bool isCollection = 3; | ||||
| } | ||||
| 
 | ||||
| message ServerOutput { | ||||
|     string result = 1; | ||||
| } | ||||
| 
 | ||||
| service OverflowApiServer { | ||||
|     rpc exec(ServerInput) returns (ServerOutput) {} | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										0
									
								
								src/main/resources/_
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								src/main/resources/_
									
									
									
									
									
										Normal file
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user