mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 09:18:54 -05:00
Web API: re-organize online documentation and integrate Swagger-UI
This commit is contained in:
parent
3d77c9af9b
commit
4a442e97e7
@ -1,5 +1,27 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>index.html</file>
|
||||
<file>webapi/doc/html2/index.html</file>
|
||||
<file>webapi/doc/swagger/swagger.yaml</file>
|
||||
<file>webapi/doc/swagger/include/CWKeyer.yaml</file>
|
||||
<file>webapi/doc/swagger/include/FileSource.yaml</file>
|
||||
<file>webapi/doc/swagger/include/HackRF.yaml</file>
|
||||
<file>webapi/doc/swagger/include/LimeSdr.yaml</file>
|
||||
<file>webapi/doc/swagger/include/NFMDemod.yaml</file>
|
||||
<file>webapi/doc/swagger/include/NFMMod.yaml</file>
|
||||
<file>webapi/doc/swagger/include/RtlSdr.yaml</file>
|
||||
<file>webapi/doc/swagger-ui/swagger-ui.js.map</file>
|
||||
<file>webapi/doc/swagger-ui/swagger-ui.js</file>
|
||||
<file>webapi/doc/swagger-ui/swagger-ui.css.map</file>
|
||||
<file>webapi/doc/swagger-ui/swagger-ui.css</file>
|
||||
<file>webapi/doc/swagger-ui/swagger-ui-standalone-preset.js.map</file>
|
||||
<file>webapi/doc/swagger-ui/swagger-ui-standalone-preset.js</file>
|
||||
<file>webapi/doc/swagger-ui/swagger-ui-bundle.js.map</file>
|
||||
<file>webapi/doc/swagger-ui/swagger-ui-bundle.js</file>
|
||||
<file>webapi/doc/swagger-ui/oauth2-redirect.html</file>
|
||||
<file>webapi/doc/swagger-ui/index.html</file>
|
||||
<file>webapi/doc/swagger-ui/favicon-32x32.png</file>
|
||||
<file>webapi/doc/swagger-ui/favicon-16x16.png</file>
|
||||
<file>webapi/index.html</file>
|
||||
<file>webapi/sdrangel_logo.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
</RCC>
|
||||
|
BIN
sdrbase/resources/webapi/doc/swagger-ui/favicon-16x16.png
Normal file
BIN
sdrbase/resources/webapi/doc/swagger-ui/favicon-16x16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 445 B |
BIN
sdrbase/resources/webapi/doc/swagger-ui/favicon-32x32.png
Normal file
BIN
sdrbase/resources/webapi/doc/swagger-ui/favicon-32x32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
96
sdrbase/resources/webapi/doc/swagger-ui/index.html
Normal file
96
sdrbase/resources/webapi/doc/swagger-ui/index.html
Normal file
@ -0,0 +1,96 @@
|
||||
<!-- HTML for static distribution bundle build -->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Swagger UI</title>
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
|
||||
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
|
||||
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
|
||||
<style>
|
||||
html
|
||||
{
|
||||
box-sizing: border-box;
|
||||
overflow: -moz-scrollbars-vertical;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after
|
||||
{
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin:0;
|
||||
background: #fafafa;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
|
||||
<defs>
|
||||
<symbol viewBox="0 0 20 20" id="unlocked">
|
||||
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="locked">
|
||||
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="close">
|
||||
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="large-arrow">
|
||||
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="large-arrow-down">
|
||||
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
|
||||
</symbol>
|
||||
|
||||
|
||||
<symbol viewBox="0 0 24 24" id="jump-to">
|
||||
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 24 24" id="expand">
|
||||
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
|
||||
</symbol>
|
||||
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
<div id="swagger-ui"></div>
|
||||
|
||||
<script src="./swagger-ui-bundle.js"> </script>
|
||||
<script src="./swagger-ui-standalone-preset.js"> </script>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
|
||||
// Build a system
|
||||
const ui = SwaggerUIBundle({
|
||||
url: window.location.protocol + "//" + window.location.host + "/doc/swagger/swagger.yaml",
|
||||
validatorUrl: window.location.protocol + "//" + window.location.host + "/doc/swagger/swagger.yaml",
|
||||
dom_id: '#swagger-ui',
|
||||
deepLinking: true,
|
||||
presets: [
|
||||
SwaggerUIBundle.presets.apis,
|
||||
SwaggerUIStandalonePreset
|
||||
],
|
||||
plugins: [
|
||||
SwaggerUIBundle.plugins.DownloadUrl
|
||||
],
|
||||
layout: "StandaloneLayout"
|
||||
})
|
||||
|
||||
window.ui = ui
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
60
sdrbase/resources/webapi/doc/swagger-ui/oauth2-redirect.html
Normal file
60
sdrbase/resources/webapi/doc/swagger-ui/oauth2-redirect.html
Normal file
@ -0,0 +1,60 @@
|
||||
<!doctype html>
|
||||
<html lang="en-US">
|
||||
<body onload="run()">
|
||||
</body>
|
||||
</html>
|
||||
<script>
|
||||
'use strict';
|
||||
function run () {
|
||||
var oauth2 = window.opener.swaggerUIRedirectOauth2;
|
||||
var sentState = oauth2.state;
|
||||
var redirectUrl = oauth2.redirectUrl;
|
||||
var isValid, qp, arr;
|
||||
|
||||
if (/code|token|error/.test(window.location.hash)) {
|
||||
qp = window.location.hash.substring(1);
|
||||
} else {
|
||||
qp = location.search.substring(1);
|
||||
}
|
||||
|
||||
arr = qp.split("&")
|
||||
arr.forEach(function (v,i,_arr) { _arr[i] = '"' + v.replace('=', '":"') + '"';})
|
||||
qp = qp ? JSON.parse('{' + arr.join() + '}',
|
||||
function (key, value) {
|
||||
return key === "" ? value : decodeURIComponent(value)
|
||||
}
|
||||
) : {}
|
||||
|
||||
isValid = qp.state === sentState
|
||||
|
||||
if ((
|
||||
oauth2.auth.schema.get("flow") === "accessCode"||
|
||||
oauth2.auth.schema.get("flow") === "authorizationCode"
|
||||
) && !oauth2.auth.code) {
|
||||
if (!isValid) {
|
||||
oauth2.errCb({
|
||||
authId: oauth2.auth.name,
|
||||
source: "auth",
|
||||
level: "warning",
|
||||
message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
|
||||
});
|
||||
}
|
||||
|
||||
if (qp.code) {
|
||||
delete oauth2.state;
|
||||
oauth2.auth.code = qp.code;
|
||||
oauth2.callback({auth: oauth2.auth, redirectUrl: redirectUrl});
|
||||
} else {
|
||||
oauth2.errCb({
|
||||
authId: oauth2.auth.name,
|
||||
source: "auth",
|
||||
level: "error",
|
||||
message: "Authorization failed: no accessCode received from the server"
|
||||
});
|
||||
}
|
||||
} else {
|
||||
oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid, redirectUrl: redirectUrl});
|
||||
}
|
||||
window.close();
|
||||
}
|
||||
</script>
|
99
sdrbase/resources/webapi/doc/swagger-ui/swagger-ui-bundle.js
Normal file
99
sdrbase/resources/webapi/doc/swagger-ui/swagger-ui-bundle.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
sdrbase/resources/webapi/doc/swagger-ui/swagger-ui.css
Normal file
2
sdrbase/resources/webapi/doc/swagger-ui/swagger-ui.css
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
{"version":3,"sources":[],"names":[],"mappings":"","file":"swagger-ui.css","sourceRoot":""}
|
8
sdrbase/resources/webapi/doc/swagger-ui/swagger-ui.js
Normal file
8
sdrbase/resources/webapi/doc/swagger-ui/swagger-ui.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
12
sdrbase/resources/webapi/doc/swagger/include/CWKeyer.yaml
Normal file
12
sdrbase/resources/webapi/doc/swagger/include/CWKeyer.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
CWKeyerSettings:
|
||||
properties:
|
||||
sampleRate:
|
||||
type: integer
|
||||
wpm:
|
||||
type: integer
|
||||
mode:
|
||||
type: integer
|
||||
text:
|
||||
type: string
|
||||
loop:
|
||||
type: integer
|
@ -0,0 +1,5 @@
|
||||
FileSourceSettings:
|
||||
description: FileSource
|
||||
properties:
|
||||
fileName:
|
||||
type: string
|
52
sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml
Normal file
52
sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
HackRFInputSettings:
|
||||
description: HackRF
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
format: int64
|
||||
LOppmTenths:
|
||||
type: integer
|
||||
bandwidth:
|
||||
type: integer
|
||||
lnaGain:
|
||||
type: integer
|
||||
vgaGain:
|
||||
type: integer
|
||||
log2Decim:
|
||||
type: integer
|
||||
fcPos:
|
||||
description: 0=Infra 1=Supra 2=Center
|
||||
type: integer
|
||||
devSampleRate:
|
||||
type: integer
|
||||
biasT:
|
||||
type: integer
|
||||
lnaExt:
|
||||
type: integer
|
||||
dcBlock:
|
||||
type: integer
|
||||
iqCorrection:
|
||||
type: integer
|
||||
linkTxFrequency:
|
||||
type: integer
|
||||
|
||||
HackRFOutputSettings:
|
||||
description: HackRF
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
format: int64
|
||||
LOppmTenths:
|
||||
type: integer
|
||||
bandwidth:
|
||||
type: integer
|
||||
vgaGain:
|
||||
type: integer
|
||||
log2Interp:
|
||||
type: integer
|
||||
devSampleRate:
|
||||
type: integer
|
||||
biasT:
|
||||
type: integer
|
||||
lnaExt:
|
||||
type: integer
|
74
sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml
Normal file
74
sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml
Normal file
@ -0,0 +1,74 @@
|
||||
LimeSdrInputSettings:
|
||||
description: LimeSDR
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
format: int64
|
||||
devSampleRate:
|
||||
type: integer
|
||||
log2HardDecim:
|
||||
type: integer
|
||||
dcBlock:
|
||||
type: integer
|
||||
iqCorrection:
|
||||
type: integer
|
||||
log2SoftDecim:
|
||||
type: integer
|
||||
lpfBW:
|
||||
type: integer
|
||||
lpfFIREnable:
|
||||
type: integer
|
||||
lpfFIRBW:
|
||||
type: integer
|
||||
gain:
|
||||
type: integer
|
||||
ncoEnable:
|
||||
type: integer
|
||||
ncoFrequency:
|
||||
type: integer
|
||||
antennaPath:
|
||||
type: integer
|
||||
gainMode:
|
||||
type: integer
|
||||
lnaGain:
|
||||
type: integer
|
||||
tiaGain:
|
||||
type: integer
|
||||
pgaGain:
|
||||
type: integer
|
||||
extClock:
|
||||
type: integer
|
||||
extClockFreq:
|
||||
type: integer
|
||||
|
||||
LimeSdrOutputSettings:
|
||||
description: LimeSDR
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
format: int64
|
||||
devSampleRate:
|
||||
type: integer
|
||||
log2HardInterp:
|
||||
type: integer
|
||||
log2SoftInterp:
|
||||
type: integer
|
||||
lpfBW:
|
||||
type: integer
|
||||
lpfFIREnable:
|
||||
type: integer
|
||||
lpfFIRBW:
|
||||
type: integer
|
||||
gain:
|
||||
type: integer
|
||||
ncoEnable:
|
||||
type: integer
|
||||
ncoFrequency:
|
||||
type: integer
|
||||
antennaPath:
|
||||
type: integer
|
||||
extClock:
|
||||
type: integer
|
||||
extClockFreq:
|
||||
type: integer
|
||||
|
43
sdrbase/resources/webapi/doc/swagger/include/NFMDemod.yaml
Normal file
43
sdrbase/resources/webapi/doc/swagger/include/NFMDemod.yaml
Normal file
@ -0,0 +1,43 @@
|
||||
NFMDemodSettings:
|
||||
description: NFMDemod
|
||||
properties:
|
||||
inputFrequencyOffset:
|
||||
type: integer
|
||||
format: int64
|
||||
rfBandwidth:
|
||||
type: number
|
||||
format: float
|
||||
afBandwidth:
|
||||
type: number
|
||||
format: float
|
||||
fmDeviation:
|
||||
type: integer
|
||||
squelchGate:
|
||||
type: integer
|
||||
deltaSquelch:
|
||||
type: integer
|
||||
squelch:
|
||||
type: number
|
||||
format: float
|
||||
volume:
|
||||
type: number
|
||||
format: float
|
||||
ctcssOn:
|
||||
type: integer
|
||||
audioMute:
|
||||
type: integer
|
||||
ctcssIndex:
|
||||
type: integer
|
||||
audioSampleRate:
|
||||
type: integer
|
||||
copyAudioToUDP:
|
||||
type: integer
|
||||
udpAddress:
|
||||
type: string
|
||||
udpPort:
|
||||
type: integer
|
||||
rgbColor:
|
||||
type: integer
|
||||
title:
|
||||
type: string
|
||||
|
40
sdrbase/resources/webapi/doc/swagger/include/NFMMod.yaml
Normal file
40
sdrbase/resources/webapi/doc/swagger/include/NFMMod.yaml
Normal file
@ -0,0 +1,40 @@
|
||||
NFMModSettings:
|
||||
description: NFMMod
|
||||
properties:
|
||||
inputFrequencyOffset:
|
||||
type: integer
|
||||
format: int64
|
||||
rfBandwidth:
|
||||
type: number
|
||||
format: float
|
||||
afBandwidth:
|
||||
type: number
|
||||
format: float
|
||||
fmDeviation:
|
||||
type: number
|
||||
format: float
|
||||
toneFrequency:
|
||||
type: number
|
||||
format: float
|
||||
volumeFactor:
|
||||
type: number
|
||||
format: float
|
||||
audioSampleRate:
|
||||
type: integer
|
||||
channelMute:
|
||||
type: integer
|
||||
playLoop:
|
||||
type: integer
|
||||
ctcssOn:
|
||||
type: integer
|
||||
ctcssIndex:
|
||||
type: integer
|
||||
rgbColor:
|
||||
type: integer
|
||||
title:
|
||||
type: string
|
||||
modAFInput:
|
||||
type: integer
|
||||
cwKeyer:
|
||||
$ref: "/doc/swagger/include/CWKeyer.yaml#/CWKeyerSettings"
|
||||
|
34
sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml
Normal file
34
sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
RtlSdrSettings:
|
||||
description: RTLSDR
|
||||
properties:
|
||||
devSampleRate:
|
||||
type: integer
|
||||
lowSampleRate:
|
||||
type: integer
|
||||
centerFrequency:
|
||||
type: integer
|
||||
format: int64
|
||||
gain:
|
||||
type: integer
|
||||
loPpmCorrection:
|
||||
type: integer
|
||||
log2Decim:
|
||||
type: integer
|
||||
fcPos:
|
||||
type: integer
|
||||
dcBlock:
|
||||
type: integer
|
||||
iqImbalance:
|
||||
type: integer
|
||||
agc:
|
||||
type: integer
|
||||
noModMode:
|
||||
type: integer
|
||||
transverterMode:
|
||||
type: integer
|
||||
transverterDeltaFrequency:
|
||||
type: integer
|
||||
format: int64
|
||||
rfBandwidth:
|
||||
type: integer
|
||||
|
9
sdrbase/resources/webapi/doc/swagger/include/User.yaml
Normal file
9
sdrbase/resources/webapi/doc/swagger/include/User.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
User:
|
||||
required:
|
||||
- index
|
||||
- name
|
||||
properties:
|
||||
index:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
1529
sdrbase/resources/webapi/doc/swagger/swagger.yaml
Normal file
1529
sdrbase/resources/webapi/doc/swagger/swagger.yaml
Normal file
File diff suppressed because it is too large
Load Diff
52
sdrbase/resources/webapi/index.html
Normal file
52
sdrbase/resources/webapi/index.html
Normal file
@ -0,0 +1,52 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>SDRangel API documentation</title>
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding-left: 13em;
|
||||
font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif;
|
||||
color: black;
|
||||
background-color: white }
|
||||
h1 {
|
||||
font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif;
|
||||
color: #6086D3 }
|
||||
ul.navbar {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 2em;
|
||||
left: 1em;
|
||||
width: 11em }
|
||||
ul.navbar li {
|
||||
background: #dddddd;
|
||||
margin: 0.5em 0;
|
||||
padding: 0.3em;
|
||||
border-right: 1em solid black }
|
||||
ul.navbar a {
|
||||
text-decoration: none }
|
||||
a:link {
|
||||
color: #315db4 }
|
||||
a:visited {
|
||||
color: #315db4 }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Site navigation menu -->
|
||||
<ul class="navbar">
|
||||
<li><a href="doc/html2/index.html">Static HTML2 documentation</a>
|
||||
<li><a href="doc/swagger-ui/index.html">Interactive Swagger UI documentation</a>
|
||||
</ul>
|
||||
|
||||
<!-- Main content -->
|
||||
<img src="sdrangel_logo.png" alt="SDRangel">
|
||||
|
||||
<h1>SDRangel API documentation</h1>
|
||||
|
||||
<p>Click on links on the left for various types of documentation</p>
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
sdrbase/resources/webapi/sdrangel_logo.png
Normal file
BIN
sdrbase/resources/webapi/sdrangel_logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
@ -16,7 +16,7 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//#include <QDirIterator>
|
||||
#include <QDirIterator>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
|
||||
@ -47,7 +47,7 @@ WebAPIRequestMapper::WebAPIRequestMapper(QObject* parent) :
|
||||
m_adapter(0)
|
||||
{
|
||||
qtwebapp::HttpDocrootSettings docrootSettings;
|
||||
docrootSettings.path = ":/";
|
||||
docrootSettings.path = ":/webapi";
|
||||
m_staticFileController = new qtwebapp::StaticFileController(docrootSettings, parent);
|
||||
}
|
||||
|
||||
@ -119,11 +119,9 @@ void WebAPIRequestMapper::service(qtwebapp::HttpRequest& request, qtwebapp::Http
|
||||
} else if (std::regex_match(pathStr, desc_match, WebAPIAdapterInterface::devicesetChannelSettingsURLRe)) {
|
||||
devicesetChannelSettingsService(std::string(desc_match[1]), std::string(desc_match[2]), request, response);
|
||||
}
|
||||
else
|
||||
else // serve static documentation pages
|
||||
{
|
||||
QByteArray path = "/index.html";
|
||||
response.setStatus(400, "API URL does not exist");
|
||||
m_staticFileController->service(path, response);
|
||||
m_staticFileController->service(request, response);
|
||||
}
|
||||
|
||||
// QDirIterator it(":", QDirIterator::Subdirectories);
|
||||
|
@ -11,8 +11,8 @@ AboutDialog::AboutDialog(const QString& apiHost, int apiPort, QWidget* parent) :
|
||||
ui->build->setText(QString("Build info: Qt %1 %2 bits").arg(QT_VERSION_STR).arg(QT_POINTER_SIZE*8));
|
||||
ui->dspBits->setText(QString("DSP Rx %1 bits Tx %2 bits").arg(SDR_RX_SAMP_SZ).arg(SDR_TX_SAMP_SZ));
|
||||
ui->pid->setText(QString("PID: %1").arg(qApp->applicationPid()));
|
||||
QString apiUrl = QString("http://%1:%2/sdrangel").arg(apiHost).arg(apiPort);
|
||||
ui->restApiUrl->setText(QString("REST API base URL: <a href=\"%1\">%2</a>").arg(apiUrl).arg(apiUrl));
|
||||
QString apiUrl = QString("http://%1:%2/").arg(apiHost).arg(apiPort);
|
||||
ui->restApiUrl->setText(QString("REST API documentation: <a href=\"%1\">%2</a>").arg(apiUrl).arg(apiUrl));
|
||||
ui->restApiUrl->setOpenExternalLinks(true);
|
||||
}
|
||||
|
||||
|
@ -5,4 +5,6 @@ SDRANGEL_SRC=/opt/build/sdrangel
|
||||
|
||||
${CODEGEN} generate -i api/swagger/swagger.yaml -l qt5cpp -c qt5cpp-config.json -o code/qt5
|
||||
${CODEGEN} generate -i api/swagger/swagger.yaml -l html2 -c html2-config.json -o code/html2
|
||||
cp -v code/html2/index.html ${SDRANGEL_SRC}/sdrbase/resources/
|
||||
cp -v code/html2/index.html ${SDRANGEL_SRC}/sdrbase/resources/webapi/doc/html2
|
||||
cp -av api/swagger/ ${SDRANGEL_SRC}/sdrbase/resources/webapi/doc
|
||||
find ${SDRANGEL_SRC}/sdrbase/resources/webapi/doc/swagger -name \*.yaml -exec sed -i 's/http:\/\/localhost:8081\/api\/swagger\/include/\/doc\/swagger\/include/g' {} \;
|
||||
|
Loading…
Reference in New Issue
Block a user