HTTP/2 Conformance Tests

sgcWebSockets supports HTTP/2 protocol on Server and Client components, implementation is made in 100% pure Delphi code without using any external library. We have tested our HTTP/2 implementation using h2spec which is a great tool for testing HTTP/2 protocol https://github.com/summerwind/h2spec The sgcWebSockets HTTP/2 Server and Client compo...

Continue reading

OAuth2 Customize Sign-In HTML

When an OAuth2 client do a request to get a new Access Token, a Web-Page is shown in a web-browser to Allow this connection and login with an User and Password. The HTML page is included by default in Server component, but this code can be customized using OnAuth2BeforeDispatchPage event. procedure OnOAuth2BeforeDispatchPage(Sender: TObject; OAuth2...

Continue reading

OAuth2 Server Allow none authenticated requests

By default, when OAuth2 is enabled on Server Side, all the HTTP Requests require Authentication using Bearer Tokens. If you want allow some URLs to be accessed without the need of use a Bearer Token, you can use the event OnOAuth2BeforeRequest Find below a sample code which shows the use of the event. procedure OnOAuth2BeforeRequest(Sender: TObject...

Continue reading

OAuth2 Server Register Apps

Before a new OAuth2 is requested by a client, the App must be registered in the server. Register a new App requires the following information:   App Name: is the name of the Application. Example: MyApp  RedirectURI: is where the responses will be redirected. Example: http://127.0.0.1:8080  ClientId: is public information and is the I...

Continue reading

OAuth2 Server Endpoints

By default, the OAuth2 Server uses the following Endpoints:   Authorization: /sgc/oauth2/auth   Token: /sgc/oauth2/token Which means that if your server listens on IP 80.54.41.30 and port 8443, the full OAuth2 Endpoints will be:   Authorization: https://80.54.41.30:8443/sgc/oauth2/auth   Token: https://80.54.41.30:8443/sgc/oauth...

Continue reading

OAuth2 Server Authorization

From sgcWebSockets 4.4.5 OAuth2 protocol is supported on Server Components. OAuth2 allows third-party applications to receive a limited access to an HTTP service which is either on behalf of a resource owner or by allowing a third-party application obtain access on its own behalf. Thanks to OAuth2, service providers and consumer applications can in...

Continue reading

WatchDog Monitor Server

From sgcWebSockets 4.4.4 a new property Monitor has been added to WatchDog feature, WatchDog.Monitor allows to verify if new clients can connect to server, this is done by an internal client that tries to open a WebSocket connection to server, if fails, it restart the server.  To monitor if clients can connect to server with a Time Out of 10 s...

Continue reading

Telegram Client and Proxies

From sgcWebSockets 4.4.4, the Telegram Client supports Proxy connections. Telegram Client can be configured to make of use of a proxy. Currently, Telegram supports 3 types of proxies: 1. HTTP 2. MTProto 3. Socks5 Add Proxy  In order to configure a HTTP Proxy, first you must add the proxy to telegram configuration, to do this, just call Ad...

Continue reading

MQTT Publish Message and Wait Response

From sgcWebSockets 4.4.4 the MQTT client has a new method called PublishAndWait. Till now, when a client publishes a message using QoS levels 1 or 2, the only way to know if the message was processed by server was using the asynchronous events OnMQTTAcknowledgment or OnMQTTPubComp, this means that client must implement his own wait method to check ...

Continue reading

HTTP/2 Server Test Performance

From sgcWebSockets 4.4.3, HTTP/2 is initially supported and new features will be added on next versions. In a prior entry blog we compared the performance between HTTP 1.1 and HTTP/2 protocols, to do this, I use sgcWebSockets HTTP/2 client which downloaded 100 images from imagekit.io servers.  HTTP/2 Client  sgcWebSockets HTTP/2 clie...

Continue reading