permissionpolicy.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package permissionpolicy
  2. import "net/http"
  3. /*
  4. Permisson Policy
  5. This is a permission policy header modifier that changes
  6. the request permission related policy fields
  7. */
  8. type PermissionsPolicy struct {
  9. Accelerometer []string `json:"accelerometer"`
  10. AmbientLightSensor []string `json:"ambient_light_sensor"`
  11. Autoplay []string `json:"autoplay"`
  12. Battery []string `json:"battery"`
  13. Camera []string `json:"camera"`
  14. CrossOriginIsolated []string `json:"cross_origin_isolated"`
  15. DisplayCapture []string `json:"display_capture"`
  16. DocumentDomain []string `json:"document_domain"`
  17. EncryptedMedia []string `json:"encrypted_media"`
  18. ExecutionWhileNotRendered []string `json:"execution_while_not_rendered"`
  19. ExecutionWhileOutOfView []string `json:"execution_while_out_of_viewport"`
  20. Fullscreen []string `json:"fullscreen"`
  21. Geolocation []string `json:"geolocation"`
  22. Gyroscope []string `json:"gyroscope"`
  23. KeyboardMap []string `json:"keyboard_map"`
  24. Magnetometer []string `json:"magnetometer"`
  25. Microphone []string `json:"microphone"`
  26. Midi []string `json:"midi"`
  27. NavigationOverride []string `json:"navigation_override"`
  28. Payment []string `json:"payment"`
  29. PictureInPicture []string `json:"picture_in_picture"`
  30. PublicKeyCredentialsGet []string `json:"publickey_credentials_get"`
  31. ScreenWakeLock []string `json:"screen_wake_lock"`
  32. SyncXHR []string `json:"sync_xhr"`
  33. USB []string `json:"usb"`
  34. WebShare []string `json:"web_share"`
  35. XRSpatialTracking []string `json:"xr_spatial_tracking"`
  36. ClipboardRead []string `json:"clipboard_read"`
  37. ClipboardWrite []string `json:"clipboard_write"`
  38. Gamepad []string `json:"gamepad"`
  39. SpeakerSelection []string `json:"speaker_selection"`
  40. ConversionMeasurement []string `json:"conversion_measurement"`
  41. FocusWithoutUserActivation []string `json:"focus_without_user_activation"`
  42. HID []string `json:"hid"`
  43. IdleDetection []string `json:"idle_detection"`
  44. InterestCohort []string `json:"interest_cohort"`
  45. Serial []string `json:"serial"`
  46. SyncScript []string `json:"sync_script"`
  47. TrustTokenRedemption []string `json:"trust_token_redemption"`
  48. Unload []string `json:"unload"`
  49. WindowPlacement []string `json:"window_placement"`
  50. VerticalScroll []string `json:"vertical_scroll"`
  51. }
  52. func InjectSecurePolicyHeader(w http.ResponseWriter, r *http.Request) {
  53. //w.Header()
  54. }