コード例 #1
0
 public ThingsGraphQLServer(ThingsApp app, GraphQLServerSettings settings) : base(app, settings)
 {
     // Register all modules
     this.RegisterModules(new ThingsGraphQLModule());
     // handle specific exceptions if needed and convert them into GraphQL errors.
     base.Events.OperationError += Events_OperationError;
     base.Initialize();
 }
コード例 #2
0
        private GraphQLHttpServer CreateGraphQLHttpServer()
        {
            // create server and Http graphQL server
            var thingsBizApp = new ThingsApp();
            var thingsServer = new GraphQLServer(thingsBizApp);
            var thingsModule = new ThingsGraphQLModule();

            thingsServer.RegisterModules(thingsModule);
            var server = new GraphQLHttpServer(thingsServer);

            return(server);
        }
コード例 #3
0
        private GraphQLHttpServer CreateThingsGraphQLHttpServer()
        {
            // create server and Http graphQL server
            var thingsBizApp = new ThingsApp();
            var serverStt    = new GraphQLServerSettings()
            {
                Options = GraphQLServerOptions.DefaultDev
            };
            var thingsServer = new ThingsGraphQLServer(thingsBizApp, serverStt);
            var server       = new GraphQLHttpServer(thingsServer);

            return(server);
        }
コード例 #4
0
        public static void Init()
        {
            if (ThingsServer != null)
            {
                return;
            }
            if (File.Exists(LogFilePath))
            {
                File.Delete(LogFilePath);
            }
            try {
                var thingsBizApp = new ThingsApp();
                var stt          = new GraphQLServerSettings()
                {
                    Options = GraphQLServerOptions.DefaultDev
                };
                ThingsServer = new ThingsGraphQLServer(thingsBizApp, stt);
                // Add logging hook
                ThingsServer.Events.RequestCompleted += ThingsServer_RequestCompleted;
            } catch (ServerStartupException sEx) {
                LogText(sEx.ToText() + Environment.NewLine);
                LogText(sEx.GetErrorsAsText());
                throw;
            }
            // Write schema doc to file
            var schemaDoc = ThingsServer.Model.SchemaDoc;

            File.WriteAllText("_thingsApiSchema.txt", schemaDoc);

            _serializerSettings = new JsonSerializerSettings()
            {
                Formatting       = Formatting.Indented,
                ContractResolver = new DefaultContractResolver()
                {
                    NamingStrategy = new CamelCaseNamingStrategy()
                }
            };
        }
コード例 #5
0
        public static void Init()
        {
            if (ThingsServer != null)
            {
                return;
            }
            if (File.Exists(LogFilePath))
            {
                File.Delete(LogFilePath);
            }
            try {
                var thingsBizApp = new ThingsApp();
                var thingsModule = new ThingsGraphQLModule();
                ThingsServer = new GraphQLServer(thingsBizApp);
                ThingsServer.RegisterModules(thingsModule);
                ThingsServer.Initialize();
                ThingsServer.Events.RequestCompleted += ThingsServer_RequestCompleted;
            } catch (ServerStartupException sEx) {
                LogText(sEx.ToText() + Environment.NewLine);
                LogText(sEx.GetErrorsAsText());
                throw;
            }
            // Printout
            var schemaGen = new SchemaDocGenerator();
            var schemaDoc = schemaGen.GenerateSchema(ThingsServer.Model);

            File.WriteAllText("_thingsApiSchema.txt", schemaDoc);

            _serializerSettings = new JsonSerializerSettings()
            {
                Formatting       = Formatting.Indented,
                ContractResolver = new DefaultContractResolver()
                {
                    NamingStrategy = new CamelCaseNamingStrategy()
                }
            };
        }
コード例 #6
0
 void IResolverClass.BeginRequest(IRequestContext context)
 {
     _app = (ThingsApp)context.App;
 }