mirror of
https://github.com/wavetermdev/wails.git
synced 2026-04-22 15:26:15 -07:00
Compare commits
47 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 485a983f26 | |||
| 67063d419c | |||
| 03cef1887f | |||
| 929593c5b8 | |||
| 57e718af68 | |||
| f96aab0d44 | |||
| 140e3b5947 | |||
| a8339c9e93 | |||
| 39a7ab5856 | |||
| ec3da8b7ef | |||
| b64b2a8da1 | |||
| 1979bca0f5 | |||
| 0f791c71f4 | |||
| fbe7d4de6b | |||
| c8d203d4d6 | |||
| f335cbd608 | |||
| b67d1e72a7 | |||
| 5e3c736bee | |||
| abc8f71a8d | |||
| cf8bb49093 | |||
| 3f62fa0d86 | |||
| 8b977bcab4 | |||
| 3a1aeaab94 | |||
| a7bf359930 | |||
| 9574bfc054 | |||
| 739ca98597 | |||
| 424e4fc2e8 | |||
| 7f1093dc51 | |||
| a998465034 | |||
| 755e869fe7 | |||
| 7ecbc846b4 | |||
| 767b7d6026 | |||
| 086953bbe9 | |||
| c51df752a1 | |||
| ea3b7ed9dd | |||
| ef6366af61 | |||
| 488666f407 | |||
| 34fd76617e | |||
| 1e8b938d15 | |||
| 3404250ac8 | |||
| eddc949295 | |||
| 49bd33e642 | |||
| 78f638a9bc | |||
| fef6e2a616 | |||
| 2a22933220 | |||
| eae4fe62cd | |||
| db527c0fc2 |
@@ -0,0 +1 @@
|
||||
["leaanthony","stffabi","misitebao","dependabot[bot]","github-actions[bot]","tmclane","bh90210","Lyimmi","ianmjones","konez2k","rh12503","dedo1911","raguay","OlegGulevskyy","napalu","marktohark","codydbentley","ATenderholt","acheong08","akhudek","LGiki","Snider","timkippdev","xijaja","ValentinTrinque","allcontributors[bot]","adalessa","fdidron","hi019","Vaelatern","sebastian0x62","gelleson","ilgityildirim","Chronophylos","antimatter96","gwynforthewyn","avengerweb","achhabra2","willdot","scottopell","JulioDRF","jaesung9507","pierrejoye","marcus-crane","lontten","BillBuilt","albert-sun","phoenix147","Wakeful-Cloud","aayush420","artooro","mondy","redraskal","Ironpark","Juneezee","fallendusk","qaisjp","noahgorstein","Licoy","eft","boreq","wandercn","zllovesuki","Watson-Sei","joshm998","Nexus26404","BuckeyeCoder","edwargix","bdwyertech","oSethoum","SupianIDz","Xhofe","derhasi","i7tsov","NullCode1337","mholt","tk103331","Holmqvist1990","gotid","tong3jie","ckilb","cybertramp","sgosiaco","marvinhosea","ParkourLiu","cuigege","liang-li-dev","joshbuddy","o8x","rnice01","hotafrika","arifali123","almas1992","binyamin","ParvinEyvazov","AlbinoDrought","SheetJSDev","imgbot[bot]","prurigro","KiddoV","shinshin86","Debdut","Gurkengewuerz","giopalma","Maicarons2022","RyoTagami","SamHennessy","h8gi","MyNameIsAres","skamensky","Orijhins","sidwebworks","tomanagle","abtin","andywenk","LukenSkyne","NanoNik","chenxiao1990","daodao97","Yz4230","edwardbrowncross","TechplexEngineer","rayshoo","Junkher","polikow","zandercodes","benjamin-thomas","jicg","gardc","bearsh","stefpap","fengweiqiang","MikeSchaap","GargantuaX","buddyabaddon","flin7","raitonoberu","AlienRecall","meatherly","marcio199226","TAINCER","stankovic98","LanguageAgnostic","Baiyuetribe","diogox","s12chung","aschey","sithembiso","Igogrek","amaury-tobias","SophieAu","alexmat","elie-g","kyoto44","Jarek-SRT","Rested","kraney","mewmew","bt","ocelotsloth","ghost","MagicFun1241","lambdajack","yesgs","kmuchmore"]
|
||||
@@ -0,0 +1,49 @@
|
||||
name: update-contributors-svg
|
||||
|
||||
on:
|
||||
workflow_dispatch: # Can trigger manually
|
||||
schedule:
|
||||
- cron: '0 7 * * *' # Schedule on everyday 7:00
|
||||
|
||||
jobs:
|
||||
update-svg:
|
||||
name: Update contributors SVG
|
||||
runs-on: ubuntu-latest # You can also try macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: lts/*
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v2.2.2
|
||||
with:
|
||||
version: 7
|
||||
|
||||
- name: Run SVG generation script
|
||||
run: pnpx make-github-contributor-svg -t ${{ secrets.GITHUB_TOKEN }} -o wailsapp -r wails
|
||||
|
||||
- name: Move svg
|
||||
run: mv .github-contributors/*.svg website/static/img/
|
||||
|
||||
- name: Commit
|
||||
uses: EndBug/add-and-commit@v9
|
||||
with:
|
||||
message: "chore(workflow): update contributors image"
|
||||
add: "website/static/img/*"
|
||||
new_branch: "chore/update-contributors-svg"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: "chore(workflow): update contributors image"
|
||||
title: "chore(workflow): update contributors image"
|
||||
body: "This PR was automatically generated by a GitHub workflow"
|
||||
branch: chore/update-contributors-svg
|
||||
base: master
|
||||
labels: "chore, workflow"
|
||||
@@ -1,9 +1,9 @@
|
||||
name: Label sponsors
|
||||
name: Label Sponsors
|
||||
on:
|
||||
pull_request:
|
||||
types: [ opened ]
|
||||
types: [opened]
|
||||
issues:
|
||||
types: [ opened ]
|
||||
types: [opened]
|
||||
jobs:
|
||||
build:
|
||||
name: is-sponsor-label
|
||||
@@ -11,5 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: JasonEtco/is-sponsor-label-action@v1
|
||||
with:
|
||||
label: Sponsor ❤️
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: Sync Translated Documents
|
||||
name: Sync Translations
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@@ -10,22 +10,30 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set node
|
||||
- name: Setup Nodejs
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 16.x
|
||||
node-version: 18.x
|
||||
|
||||
- name: Install Task
|
||||
uses: arduino/setup-task@v1
|
||||
with:
|
||||
version: 3.x
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Sync Translated Documents
|
||||
run: cd scripts && chmod 755 ./sync-translated-documents.sh && ./sync-translated-documents.sh
|
||||
env:
|
||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||
working-directory: ./website
|
||||
run: task crowdin:pull
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
commit-message: "docs: sync documents"
|
||||
title: "docs: sync documents"
|
||||
commit-message: "docs: sync translations"
|
||||
title: "docs: sync translations"
|
||||
body: "- [x] Sync translated documents"
|
||||
branch: feature/documents
|
||||
branch: chore/sync-translations
|
||||
labels: translation
|
||||
delete-branch: true
|
||||
draft: true
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
name: Push Checks
|
||||
name: Upload Source Documents
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
push_files_to_crowdin:
|
||||
@@ -13,25 +14,28 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Verify Changed files
|
||||
uses: tj-actions/verify-changed-files@v11.1
|
||||
id: verify-changed-files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v35
|
||||
with:
|
||||
files: |
|
||||
website/**/*.mdx
|
||||
website/**/*.md
|
||||
website/**/*.json
|
||||
|
||||
- name: Set node
|
||||
- name: Setup Nodejs
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 16.x
|
||||
node-version: 18.x
|
||||
|
||||
- name: Push files
|
||||
if: steps.verify-changed-files.outputs.files_changed == 'true'
|
||||
- name: Setup Task
|
||||
uses: arduino/setup-task@v1
|
||||
with:
|
||||
version: 3.x
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Upload source documents
|
||||
if: steps.changed-files.outputs.any_changed == 'true'
|
||||
env:
|
||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||
run: |
|
||||
cd website
|
||||
corepack enable
|
||||
pnpm install
|
||||
pnpm run crowdin push -b master
|
||||
working-directory: ./website
|
||||
run: task crowdin:push
|
||||
@@ -35,3 +35,4 @@ v2/cmd/wails/internal/commands/initialise/templates/testtemplates/
|
||||
/v3/.task
|
||||
/v3/examples/build/bin/testapp
|
||||
/websitev3/site/
|
||||
/v3/examples/plugins/bin/testapp
|
||||
|
||||
+5
-5
@@ -1,24 +1,24 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
version: "3"
|
||||
|
||||
vars:
|
||||
GREETING: Hello, World!
|
||||
|
||||
tasks:
|
||||
check-contributors:
|
||||
contributors:check:
|
||||
cmds:
|
||||
- npx -y all-contributors-cli check
|
||||
|
||||
update-contributors:
|
||||
contributors:update:
|
||||
cmds:
|
||||
- go run v3/tasks/contribs/main.go
|
||||
|
||||
build-contributors:
|
||||
contributors:build:
|
||||
cmds:
|
||||
- npx -y all-contributors-cli generate
|
||||
|
||||
release:
|
||||
dir: v2/tools/release
|
||||
cmds:
|
||||
- go run release.go
|
||||
- go run release.go
|
||||
|
||||
Generated
+3
-3
@@ -1775,9 +1775,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "5.13.0",
|
||||
"resolved": "https://registry.npmmirror.com/undici/-/undici-5.13.0.tgz",
|
||||
"integrity": "sha512-UDZKtwb2k7KRsK4SdXWG7ErXiL7yTGgLWvk2AXO1JMjgjh404nFo6tWSCM2xMpJwMPx3J8i/vfqEh1zOqvj82Q==",
|
||||
"version": "5.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.21.0.tgz",
|
||||
"integrity": "sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==",
|
||||
"dependencies": {
|
||||
"busboy": "^1.6.0"
|
||||
},
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
cd ../website
|
||||
|
||||
npx @crowdin/cli@latest pull -b master --export-only-approved
|
||||
@@ -2,14 +2,15 @@ package flags
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/samber/lo"
|
||||
"github.com/wailsapp/wails/v2/internal/project"
|
||||
"github.com/wailsapp/wails/v2/pkg/commands/build"
|
||||
"net"
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
|
||||
"github.com/samber/lo"
|
||||
"github.com/wailsapp/wails/v2/internal/project"
|
||||
"github.com/wailsapp/wails/v2/pkg/commands/build"
|
||||
)
|
||||
|
||||
type Dev struct {
|
||||
@@ -126,6 +127,7 @@ func (d *Dev) GenerateBuildOptions() *build.Options {
|
||||
Compiler: d.Compiler,
|
||||
ForceBuild: d.ForceBuild,
|
||||
IgnoreFrontend: d.SkipFrontend,
|
||||
SkipBindings: d.SkipBindings,
|
||||
Verbosity: d.Verbosity,
|
||||
WailsJSDir: d.WailsJSDir,
|
||||
RaceDetector: d.RaceDetector,
|
||||
|
||||
@@ -44,31 +44,6 @@ func sliceToMap(input []string) map[string]struct{} {
|
||||
return result
|
||||
}
|
||||
|
||||
type devFlags struct {
|
||||
ldflags string
|
||||
compilerCommand string
|
||||
assetDir string
|
||||
extensions string
|
||||
reloadDirs string
|
||||
openBrowser bool
|
||||
noReload bool
|
||||
skipBindings bool
|
||||
wailsjsdir string
|
||||
tags string
|
||||
verbosity int
|
||||
loglevel string
|
||||
forceBuild bool
|
||||
debounceMS int
|
||||
devServer string
|
||||
appargs string
|
||||
saveConfig bool
|
||||
raceDetector bool
|
||||
|
||||
frontendDevServerURL string
|
||||
skipFrontend bool
|
||||
noColour bool
|
||||
}
|
||||
|
||||
// Application runs the application in dev mode
|
||||
func Application(f *flags.Dev, logger *clilogger.CLILogger) error {
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ func printBulletPoint(text string, args ...any) {
|
||||
fatal(err.Error())
|
||||
}
|
||||
t = strings.Trim(t, "\n\r")
|
||||
pterm.Printf(t, args...)
|
||||
pterm.Printfln(t, args...)
|
||||
}
|
||||
|
||||
func printFooter() {
|
||||
|
||||
@@ -130,6 +130,5 @@ func (f *Frontend) MenuSetApplicationMenu(menu *menu.Menu) {
|
||||
}
|
||||
|
||||
func (f *Frontend) MenuUpdateApplicationMenu() {
|
||||
f.MenuSetApplicationMenu(f.frontendOptions.Menu)
|
||||
f.mainWindow.UpdateApplicationMenu()
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/wailsapp/wails/v2/internal/shell"
|
||||
"github.com/wailsapp/wails/v2/internal/system/operatingsystem"
|
||||
"github.com/wailsapp/wails/v2/internal/system/packagemanager"
|
||||
"os/exec"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -32,6 +33,30 @@ func GetInfo() (*Info, error) {
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
func checkNodejs() *packagemanager.Dependency {
|
||||
|
||||
// Check for Nodejs
|
||||
output, err := exec.Command("node", "-v").Output()
|
||||
installed := true
|
||||
version := ""
|
||||
if err != nil {
|
||||
installed = false
|
||||
} else {
|
||||
if len(output) > 0 {
|
||||
version = strings.TrimSpace(strings.Split(string(output), "\n")[0])[1:]
|
||||
}
|
||||
}
|
||||
return &packagemanager.Dependency{
|
||||
Name: "Nodejs",
|
||||
PackageName: "N/A",
|
||||
Installed: installed,
|
||||
InstallCommand: "Available at https://nodejs.org/en/download/",
|
||||
Version: version,
|
||||
Optional: false,
|
||||
External: false,
|
||||
}
|
||||
}
|
||||
|
||||
func checkNPM() *packagemanager.Dependency {
|
||||
|
||||
// Check for npm
|
||||
|
||||
@@ -9,9 +9,8 @@ import (
|
||||
"strings"
|
||||
"syscall"
|
||||
|
||||
"github.com/wailsapp/wails/v2/internal/system/packagemanager"
|
||||
|
||||
"github.com/wailsapp/wails/v2/internal/system/operatingsystem"
|
||||
"github.com/wailsapp/wails/v2/internal/system/packagemanager"
|
||||
)
|
||||
|
||||
// Determine if the app is running on Apple Silicon
|
||||
@@ -34,6 +33,7 @@ func (i *Info) discover() error {
|
||||
i.OS = osinfo
|
||||
|
||||
i.Dependencies = append(i.Dependencies, checkXCodeSelect())
|
||||
i.Dependencies = append(i.Dependencies, checkNodejs())
|
||||
i.Dependencies = append(i.Dependencies, checkNPM())
|
||||
i.Dependencies = append(i.Dependencies, checkXCodeBuild())
|
||||
i.Dependencies = append(i.Dependencies, checkUPX())
|
||||
|
||||
@@ -49,6 +49,7 @@ func checkLocallyInstalled(checker func() *packagemanager.Dependency, dependency
|
||||
}
|
||||
|
||||
var checkerFunctions = map[string]func() *packagemanager.Dependency{
|
||||
"Nodejs": checkNodejs,
|
||||
"npm": checkNPM,
|
||||
"docker": checkDocker,
|
||||
"upx": checkUPX,
|
||||
|
||||
@@ -19,6 +19,7 @@ func (i *Info) discover() error {
|
||||
i.OS = osinfo
|
||||
|
||||
i.Dependencies = append(i.Dependencies, checkWebView2())
|
||||
i.Dependencies = append(i.Dependencies, checkNodejs())
|
||||
i.Dependencies = append(i.Dependencies, checkNPM())
|
||||
i.Dependencies = append(i.Dependencies, checkUPX())
|
||||
i.Dependencies = append(i.Dependencies, checkNSIS())
|
||||
|
||||
@@ -69,8 +69,7 @@ func (r *request) Body() (io.ReadCloser, error) {
|
||||
return r.body, nil
|
||||
}
|
||||
|
||||
// WebKit2GTK has currently no support for request bodies.
|
||||
r.body = http.NoBody
|
||||
r.body = webkit_uri_scheme_request_get_http_body(r.req)
|
||||
|
||||
return r.body, nil
|
||||
}
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
//go:build linux && (webkit2_36 || webkit2_40)
|
||||
|
||||
package webview
|
||||
|
||||
/*
|
||||
#cgo linux pkg-config: gtk+-3.0 webkit2gtk-4.0 libsoup-2.4
|
||||
|
||||
#include "gtk/gtk.h"
|
||||
#include "webkit2/webkit2.h"
|
||||
#include "libsoup/soup.h"
|
||||
*/
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func webkit_uri_scheme_request_get_http_method(req *C.WebKitURISchemeRequest) string {
|
||||
method := C.GoString(C.webkit_uri_scheme_request_get_http_method(req))
|
||||
return strings.ToUpper(method)
|
||||
}
|
||||
|
||||
func webkit_uri_scheme_request_get_http_headers(req *C.WebKitURISchemeRequest) http.Header {
|
||||
hdrs := C.webkit_uri_scheme_request_get_http_headers(req)
|
||||
|
||||
var iter C.SoupMessageHeadersIter
|
||||
C.soup_message_headers_iter_init(&iter, hdrs)
|
||||
|
||||
var name *C.char
|
||||
var value *C.char
|
||||
|
||||
h := http.Header{}
|
||||
for C.soup_message_headers_iter_next(&iter, &name, &value) != 0 {
|
||||
h.Add(C.GoString(name), C.GoString(value))
|
||||
}
|
||||
|
||||
return h
|
||||
}
|
||||
|
||||
func webkit_uri_scheme_request_finish(req *C.WebKitURISchemeRequest, code int, header http.Header, stream *C.GInputStream, streamLength int64) error {
|
||||
resp := C.webkit_uri_scheme_response_new(stream, C.gint64(streamLength))
|
||||
defer C.g_object_unref(C.gpointer(resp))
|
||||
|
||||
cReason := C.CString(http.StatusText(code))
|
||||
C.webkit_uri_scheme_response_set_status(resp, C.guint(code), cReason)
|
||||
C.free(unsafe.Pointer(cReason))
|
||||
|
||||
cMimeType := C.CString(header.Get(HeaderContentType))
|
||||
C.webkit_uri_scheme_response_set_content_type(resp, cMimeType)
|
||||
C.free(unsafe.Pointer(cMimeType))
|
||||
|
||||
hdrs := C.soup_message_headers_new(C.SOUP_MESSAGE_HEADERS_RESPONSE)
|
||||
for name, values := range header {
|
||||
cName := C.CString(name)
|
||||
for _, value := range values {
|
||||
cValue := C.CString(value)
|
||||
C.soup_message_headers_append(hdrs, cName, cValue)
|
||||
C.free(unsafe.Pointer(cValue))
|
||||
}
|
||||
C.free(unsafe.Pointer(cName))
|
||||
}
|
||||
|
||||
C.webkit_uri_scheme_response_set_http_headers(resp, hdrs)
|
||||
|
||||
C.webkit_uri_scheme_request_finish_with_response(req, resp)
|
||||
return nil
|
||||
}
|
||||
@@ -3,69 +3,19 @@
|
||||
package webview
|
||||
|
||||
/*
|
||||
#cgo linux pkg-config: gtk+-3.0 webkit2gtk-4.0 libsoup-2.4
|
||||
#cgo linux pkg-config: webkit2gtk-4.0
|
||||
|
||||
#include "gtk/gtk.h"
|
||||
#include "webkit2/webkit2.h"
|
||||
#include "libsoup/soup.h"
|
||||
*/
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
const Webkit2MinMinorVersion = 36
|
||||
|
||||
func webkit_uri_scheme_request_get_http_method(req *C.WebKitURISchemeRequest) string {
|
||||
method := C.GoString(C.webkit_uri_scheme_request_get_http_method(req))
|
||||
return strings.ToUpper(method)
|
||||
}
|
||||
|
||||
func webkit_uri_scheme_request_get_http_headers(req *C.WebKitURISchemeRequest) http.Header {
|
||||
hdrs := C.webkit_uri_scheme_request_get_http_headers(req)
|
||||
|
||||
var iter C.SoupMessageHeadersIter
|
||||
C.soup_message_headers_iter_init(&iter, hdrs)
|
||||
|
||||
var name *C.char
|
||||
var value *C.char
|
||||
|
||||
h := http.Header{}
|
||||
for C.soup_message_headers_iter_next(&iter, &name, &value) != 0 {
|
||||
h.Add(C.GoString(name), C.GoString(value))
|
||||
}
|
||||
|
||||
return h
|
||||
}
|
||||
|
||||
func webkit_uri_scheme_request_finish(req *C.WebKitURISchemeRequest, code int, header http.Header, stream *C.GInputStream, streamLength int64) error {
|
||||
resp := C.webkit_uri_scheme_response_new(stream, C.gint64(streamLength))
|
||||
defer C.g_object_unref(C.gpointer(resp))
|
||||
|
||||
cReason := C.CString(http.StatusText(code))
|
||||
C.webkit_uri_scheme_response_set_status(resp, C.guint(code), cReason)
|
||||
C.free(unsafe.Pointer(cReason))
|
||||
|
||||
cMimeType := C.CString(header.Get(HeaderContentType))
|
||||
C.webkit_uri_scheme_response_set_content_type(resp, cMimeType)
|
||||
C.free(unsafe.Pointer(cMimeType))
|
||||
|
||||
hdrs := C.soup_message_headers_new(C.SOUP_MESSAGE_HEADERS_RESPONSE)
|
||||
for name, values := range header {
|
||||
cName := C.CString(name)
|
||||
for _, value := range values {
|
||||
cValue := C.CString(value)
|
||||
C.soup_message_headers_append(hdrs, cName, cValue)
|
||||
C.free(unsafe.Pointer(cValue))
|
||||
}
|
||||
C.free(unsafe.Pointer(cName))
|
||||
}
|
||||
|
||||
C.webkit_uri_scheme_response_set_http_headers(resp, hdrs)
|
||||
|
||||
C.webkit_uri_scheme_request_finish_with_response(req, resp)
|
||||
return nil
|
||||
func webkit_uri_scheme_request_get_http_body(_ *C.WebKitURISchemeRequest) io.ReadCloser {
|
||||
return http.NoBody
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user